AUR을 사용하여 Arch64 시스템에 Poco 라이브러리를 설치했습니다. 소스가 다운로드되고 컴파일되었으며 패키지가 성공적으로 설치되었습니다. 하지만 이제 32비트 버전의 라이브러리를 컴파일하고 64비트 버전 옆에 설치할 수 있도록 PKGBUILD를 패치해야 합니다.
이것은 원래 PKGBUILD입니다:
# 관리자: Robert Knoll # 기여자: Rodrigo Grumiche Silva # 기여자: nozog # 기여자: davidhjelm # 기여자: 레이 콜러 # 기여자: Nathan Ove 패키지 이름=poco 패키지ver=1.4.6 pkgrel=1 pkgdesc="네트워크 중심 휴대용 응용 프로그램을 위한 C++ 클래스 라이브러리, 정식 버전" 아치=('i686''x86_64') url="http://www.pocoproject.org/" 라이센스 = ('사용자 정의:부스트') 의존함=('unixodbc''libmysqlclient''openssl') makedependents=('gcc' 'make' 'unixodbc' 'libmysqlclient' 'openssl' 'chrpath') 출처=( "${pkgname}-${pkgver}-all.tar.gz"::"https://sourceforge.net/projects/${pkgname}/files/sources/${pkgname}-${pkgver}/$ {pkgname}-${pkgver}-all.tar.gz/download" ) 샤256합=( 'cf8229310f047e731cc6273a8df55e03b76f0ed7d5b5d251f99a0f80f6c2c763' ) 세우다() { cd "${srcdir}/${pkgname}-${pkgver}-all" ./configure --prefix=/usr --no-samples --no-tests ODBCLIBDIR="/usr/lib"로 만듭니다. } 팩() { cd "${srcdir}/${pkgname}-${pkgver}-all" ODBCLIBDIR="/usr/lib" DESTDIR="${pkgdir}"로 설치 install -Dm644 'LICENSE' "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE" # 바이너리 파일에서 rpath 정보를 제거합니다. chrpath -d "${pkgdir}/usr/bin/cpspc" chrpath -d "${pkgdir}/usr/bin/cpspcd" chrpath -d "${pkgdir}/usr/bin/f2cpspd" chrpath -d "${pkgdir}/usr/bin/f2cpsp" # 디버깅 라이브러리 삭제 rm "${pkgdir}/usr/lib/libPoco"*"d.so"* }
가장 먼저 시도한 것은 다른 lib32-* AUR 패키지를 살펴보는 것이었지만 해당 플래그를 추가할 수도 없었습니다 -m32
.
답변1
당신은해야합니다,
패키지 이름을 lib32-XX로 변경
앞에 or 를 넣으세요
export CFLAGS="-m32"
(이 경우에는 함수가 됩니다)make
./configure
build()
그리고 설치 경로를 다음으로 변경해야 합니다.
/usr/lib32
이 경우 모든 것이 나타날 수 있으므로ODBCLIBDIR="/usr/lib"
시도해 볼 가치가 있습니다.
그리고 무엇이든 설치하기 전에 내용이 올바른지 확인하십시오 pkg
.