OMAP4 보드 용으로 opensawn
을 컴파일해야하며 GMP는 필수 조건입니다. 우선 64 비트 OS에서 그것을 시도하지만 나에게이 오류 준 : Ubuntu 12.04에서 GMP와 Openswan을 교차 컴파일 컴파일 32 비트
가 그럼 난 우분투 12.04 32 비트를 이동하고, GMP V6.0.0은 몇 가지 실험 후 컴파일있어합니다.configure: error: Oops, mp_limb_t is 64 bits, but the assembler code in this configuration expects 32 bits.
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>
그런 다음 명령이 관찰되었다 : 심지어 .bashrc
에서 ARCH, 툴체인 및 CROSS_COMPILER 변수를 가진 후 나는 다음과 같은 export
했다
./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를 컴파일했습니다.
In file included from /home/harsh32bit/Work/Projects/BSQ_VVDN/packages/openswan-2.6.41/include/certs.h:24:0,from /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: fatal error: gmp.h: No such file or directory compilation terminated
I가 TI E2E 사이트에 갔다 : 나는 CROSSCOMPILE.sh에서 변경 한 후 Openswan-2.6.41을 컴파일 건너 할 때
9 of 9 tests failed.
지금이 make programs
나는이 오류 이것은 지난 4 주 동안 포인터에 대한 인터넷 냄새가 났지만 알아 내지 못했습니다. 누구든지 ARM 용 openswan
및 GMP
을 크로스 컴파일에 대한 단서가 있다면 알려주십시오.
해당 오류 메시지를 바꾸기 위해 GMP 헤더의 위치를 관련 포함 경로에 추가하는 작업을 변경 했습니까? – Notlikethat
'export LD_LIBRARY_PATH = $ PREFIX/lib/gcc/arm-none-linux-gnueabi/4.7.3 /' 이것을 의미합니까? –
아니요, 링커가 크로스 컴파일 된 C _libraries_를 가리 킵니다. 컴파일러 명령 행에서'-I'옵션을 사용하거나 ['CPATH' 또는'* _INCLUDE_PATH'] (https://gcc.gnu.org/onlinedocs)를 사용하여 _headers_가 어디에 있는지 컴파일러에게 말하면됩니다. /gcc/Environment-Variables.html) 환경 변수. –
Notlikethat