кросс-компилятор d-bus - PullRequest
       26

кросс-компилятор d-bus

2 голосов
/ 02 декабря 2010

Я хочу, чтобы corss_compiler D-bus поставил на охрану.

набор инструментов: arm-linux-gcc-3.4.1

опция настройки: CC = arm-linux-gcc ./configure --prefix = / opt / dbus / --host = arm-linux --enable-abstract-sockets -with-xml = expat

sourecode: d-bus-1.2.24, d-bus-1.3.1, d-bus-1.4.0

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

в dbus-1.2.24 и dbus-1.3.1 также получают ту же ошибку.

Что я могу так сделать?

Большое спасибо.

1 Ответ

3 голосов
/ 11 мая 2011

Это общие инструкции для кросс-компиляции dbus для архитектуры avr32.Основываясь на этой ссылке (3-й пост) для руки, я создаю этот небольшой урок.Я публикую свой учебник, потому что это может быть полезно для других или даже для вас, чтобы сравнить команды.


БИБЛИОТЕКИ EXPAT

Для кросс-компиляции dbus необходимо сначала кросс-компилировать библиотеки Expat.С префиксом опции вы можете указать, где он должен быть установлен.

Загрузите код источника экспата: ftp: //ftp.free.fr/.mirrors1/ftp.netbsd.org/packages/distfiles/expat-2.0.1.tar.gz

Распакуйте его:

tar zxvf expat-2.0.1.tar.gz 

Настройте его с помощью подходящего хоста и компилятора c.У вас должен быть установлен набор инструментов avr32 linux (Buildroot скомпилирует для вас набор инструментов, необходимо добавить путь к двоичным файлам в переменную окружения $ PATH)

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

DBUS

Загрузите код sbus dbus: http://dbus.freedesktop.org/releases/dbus/dbus-1.5.0.tar.gz

Разархивируйте его:

tar zxvf dbus-1.5.0.tar.gz
cd dbus-1.5.0.tar.gz 

Настройте указание папки установки (--prefix), компилятора c, папки include ипапка 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; 
...