OMAP4 보드에 대한 크로스 컴파일을 해야 하는데 opensawn
GMP가 전제조건입니다. 먼저 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: 해당 파일 또는 디렉터리 컴파일이 종료되지 않습니다.
크로스 컴파일 openswan
과 GMP
.
답변1
뭐, 시간이 많이 걸리니까 우분투에서 크로스컴파일하는 것보다 직관적으로 OMAP4 보드 자체에서 컴파일하자는 생각이 들었습니다. 운 좋게도 OMAP4 보드는 그러한 컴파일을 수행할 수 있을 만큼 강력합니다. 누군가가 이해한다면 그것은 좋은 느낌이 될 것입니다.