ARM용 GMP 및 Openswan 크로스 컴파일 [닫기]

ARM용 GMP 및 Openswan 크로스 컴파일 [닫기]

OMAP4 보드에 대한 크로스 컴파일을 해야 하는데 opensawnGMP가 전제조건입니다. 먼저 64비트 OS에서 시도했지만 다음 오류가 발생했습니다.

구성: 오류: 이런, mp_limb_t는 64비트이지만 이 구성의 어셈블리 코드에는 32비트가 필요합니다.

그런 다음 Ubuntu 12.04 32비트로 이동하고 여러 번의 시도 끝에 GMP V6.0.0을 컴파일했습니다. ARCH, TOOLCHAIN ​​​​및 CROSS_COMPILER 변수가 있는 후에도 다음을 .bashrc수행해야 합니다 .export

export ARCH=arm<BR>
export PATH=/home/harsh32bit/Work/Projects/BSQ_VVDN/BISQUARE/gcc-SourceryCodeBenchLite-arm/bin/:$PATH<BR>
export CROSS_COMPILE=arm-none-linux-gnueabi-<BR>

그런 다음 다음 명령이 관찰되었습니다.

./configure --build=i686-pc-linux-gnu --host=arm-none-linux-gnueabi --prefix=/home/harsh32bit/Work/Projects/BSQ_VVDN/BISQUARE/gcc-SourceryCodeBenchLite-arm/

make clean
make
make install

그런 다음 GMP 라이브러리를 도구 체인에 소프트 링크합니다.

~/Work/Projects/BSQ_VVDN/BISQUARE/gcc-SourceryCodeBenchLite-arm/lib/gcc/arm-none-linux-gnueabi/4.7.3  
# ln -s ~/Work/Projects/BSQ_VVDN/packages/gmp-6.0.0/.libs/libgmp.so libgmp.so

make check보고된 모든 테스트가 실패했음에도 불구하고 나는 성공적으로 GMP를 컴파일했습니다.

9 of 9 tests failed.

이제 CROSSCOMPILE.sh를 변경한 후 Openswan-2.6.41을 크로스 컴파일하려고 하면 make programs다음 오류가 발생합니다.

/home/harsh32bit/Work/Projects/BSQ_VVDN/packages/openswan-2.6.41/include/certs.h:24:0에 포함된 파일의 /home/harsh32bit/Work/Projects/BSQ_VVDN/packages/openswan- 2.6.41/lib/libopenswan/id.c:42: /home/harsh32bit/Work/Projects/BSQ_VVDN/packages/openswan-2.6.41/include/secrets.h:20:41: 치명적인 오류: gmp.h: 해당 파일 또는 디렉터리 컴파일이 종료되지 않습니다.

크로스 컴파일 openswanGMP.

답변1

뭐, 시간이 많이 걸리니까 우분투에서 크로스컴파일하는 것보다 직관적으로 OMAP4 보드 자체에서 컴파일하자는 생각이 들었습니다. 운 좋게도 OMAP4 보드는 그러한 컴파일을 수행할 수 있을 만큼 강력합니다. 누군가가 이해한다면 그것은 좋은 느낌이 될 것입니다.

관련 정보