aarch64 - 크로스 컴파일 시 lpopt를 찾을 수 없습니다.

aarch64 - 크로스 컴파일 시 lpopt를 찾을 수 없습니다.

ubuntu 12.04 데스크탑 64비트(x86_64)에서 "aarch64" 아키텍처에 대한 크로스 컴파일을 시도하고 있습니다.

그래서 "Synaptic Package Manager"를 사용하여 "aarch64"용 크로스 컴파일러 툴체인을 설치했습니다.

이제 소스에서 Linux 패키지를 빌드하려고 하는데 이 패키지를 빌드하는 동안 발생하는 오류는 다음과 같습니다.

can not find -lpopt ..

그렇다면 aarch64 아키텍처의 이름을 딴 "libpopt.a/.so"를 어떻게 얻을 수 있습니까? aarch64용으로 크로스 컴파일한 다음 이 라이브러리를 사용하여 패키지를 빌드해야 하는 "libpopt" 소스 코드가 있습니까?

어떤 의견이라도 높이 평가하겠습니다.

답변1

내가 아는 한, aarch64용 libpopt 패키지는 없습니다. 따라서 크로스 컴파일러 도구 체인을 사용하여 간단히 컴파일하고 결과 라이브러리를 이미 도입된 링커 경로에 추가할 수 있습니다(또는 그 반대로).

출처:

http://www.linuxfromscratch.org/blfs/view/svn/general/popt.html

답변2

popt-1.16(최신 버전 AFAICT) 에는 AArch64와 대상 간 호환이 잘 되지 않는 빌드 시스템이 있습니다 . 하지만 비호환성은 플랫폼 삼중항을 어떤 표준 형태로 수정하려는 단계에 불과하므로 쉽게 수정할 수 있습니다. 크로스 컴파일한 방법은 다음과 같습니다(CLFS와 유사하며 tarball을 추출하여 cd디렉토리에 "편집"했다고 가정합니다).

sed -i 's@^\(.* | armv\[.*\) \\@\1 | aarch64 \\@' config.sub
./configure --build=i686-cross-linux-gnu \
            --host=aarch64-linux-gnu \
            --prefix=/usr
make

make DESTDIR=/your/destination/dir install그런 다음 설치할 수 있습니다 .

관련 정보