2010-12-02 3 views
2

나는 팔에 D 버스를 corss_compiler하고 싶다.크로스 컴파일러 d- 버스

툴체인 : 팔 리눅스 GCC-3.4.1

구성 옵션 : CC = 팔 리눅스의 gcc ./configure를 --prefix =/옵션/DBUS/--host = 팔 - 리눅스 - 수 - 추상 소켓을 가진 - - XML ​​= 해외 거주자

sourecode을 : DBUS-1.2.24 DBUS-1.3.1 DBUS-1.4.0 DBUS - 1.2에서

make[2]: Entering directory `/home/mandy/Desktop/apps/d-bus/remotec/dbus-1.4.0/bus' 
    CCLD dbus-daemon 
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/bin/ld: Warning: gc-sections option ignored 
dbus_daemon-bus.o(.text.process_config_postinit+0x120): In function `bus_context_check_security_policy': 
/home/mandy/Desktop/apps/d-bus/remotec/dbus-1.4.0/bus/bus.c:1638: undefined reference to `bus_set_watched_dirs' 
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/lib/libc_nonshared.a(elf-init.oS)(.text+0x44): In function `__libc_csu_init': 
: undefined reference to `__init_array_end' 
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/lib/libc_nonshared.a(elf-init.oS)(.text+0x48): In function `__libc_csu_init': 
: undefined reference to `__init_array_start' 
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/lib/libc_nonshared.a(elf-init.oS)(.text+0x8c): In function `__libc_csu_fini': 
: undefined reference to `__fini_array_end' 
/usr/local/arm/3.4.1/lib/gcc/arm-linux/3.4.1/../../../../arm-linux/lib/libc_nonshared.a(elf-init.oS)(.text+0x90): In function `__libc_csu_fini': 
: undefined reference to `__fini_array_start' 
collect2: ld returned 1 exit status 
make[2]: *** [dbus-daemon] Error 1 
make[2]: Leaving directory `/home/mandy/Desktop/apps/d-bus/remotec/dbus-1.4.0/bus' 
make[1]: *** [all-recursive] Error 1 
make[1]: Leaving directory `/home/mandy/Desktop/apps/d-bus/remotec/dbus-1.4.0' 
make: *** [all] Error 2 

. 24 및 dbus-1.3.1도 같은 오류가 발생합니다.

어떻게하면됩니까?

감사합니다.

답변

2

다음은 avr32 아키텍처 용 dbus 컴파일을위한 일반적인 지침입니다. 이 reference (3 기둥)을 바탕으로이 작은 자습서를 만듭니다. 내 튜토리얼을 올리면 다른 사람들에게 유용 할 수도 있고 명령을 비교할 수도 있습니다. DBUS를 크로스 컴파일하기 위해


EXPAT 라이브러리

먼저 국외 거주자 라이브러리를 크로스 컴파일 할 필요가있다. 옵션 접두사를 사용하여 설치해야 할 위치를 지정할 수 있습니다. 그것의 압축을 풉니 다 ftp://ftp.free.fr/.mirrors1/ftp.netbsd.org/packages/distfiles/expat-2.0.1.tar.gz

: 다음 appropiate 호스트와 C 컴파일러와

tar zxvf expat-2.0.1.tar.gz 

구성을

는 해외 거주자의 SRC 코드를 다운로드합니다. 당신은 DBUS의 SRC 다운로드 (당신이 환경 변수 $ PATH에 바이너리 경로를 추가해야합니다 Buildroot 당신을위한 툴체인을 컴파일)

cd expat-2.0.1/ 
./configure --host=avr32-linux --prefix=/home/juan/builds/build_expat/ CC=avr32-linux-gcc 
make; make install 

DBUS

설치 AVR32 리눅스 툴 체인을 가지고 있어야합니다 코드 : 그것의 압축을 풉니 다 http://dbus.freedesktop.org/releases/dbus/dbus-1.5.0.tar.gz

:

(210)

구성 설치 폴더 (--prefix), C 컴파일러, 인클루드 폴더와 해외 거주자 라이브러리의 lib 폴더 지정 :

./configure --prefix=/home/juan/builds/build_dbus/ --host=avr32-linux --with-x=no ac_cv_have_abstract_sockets=yes "CC=avr32-linux-gcc -I/home/juan/builds/build_expat/include -L/home/juan/builds/build_expat/lib" 

make;make install;