2016-04-17 4 views
-1

Я использую CrossTool NG и Buildroot для создания rootfs. Я пытаюсь добавить SDL2_ttf к этим rootfs.Невозможно перекрестно скомпилировать SDL2_ttf на arm-linux

экспортировать следующие переменные окружения CC = рычажного линукс-НКУ

CPPFLAGS = -I/Главная/питер/igep2015/94SDLttf/pmtstaging/USR/включать -I/главная/питер/igep2015/09Buildroot /buildroot-2016.02-TRY5/output/staging/usr/include -I/главная/питер/igep2015/94SDLttf/pmtstaging/USR/включать/freetype2

CFLAGS = - SYSROOT =/главная/питер/igep2015/09Buildroot /buildroot-2016.02-TRY5/output/host/usr/armeb-buildroot-linux-gnueabi/sysroot/

LDFLAGS = -L/Главная/питер/igep2015/94SDLttf/pmtstaging/USR/Библиотека/

*************************** выпуск ****************** *************** ld.bfd: пропускать несовместимые /usr/lib/i386-linux-gnu/libpthread.so при поиске -lpthread

/usr/local/Xtools/рычажного неизвестно-линукс-gnueabi/Библиотека/GCC/арм-неизвестно-линукс-gnueabi/5.1.0 /../../../../ рычажного неизвестно-линукс-gnueabi/бен/л.д.. bfd: пропускать несовместимые /usr/lib/i386-linux-gnu/libpthread.a при поиске -lpthread

/usr/local/xtools/arm-unknown-linux-gnueabi/lib/gcc/arm-unknown- linux-gnueabi/5.1.0 /../../../../ arm-unknown-linux-gnueabi/bin/ld.bfd: не удается найти /lib/libpthread.so.0

/usr/local/xtools/arm-unknown-linux-gnueabi/lib/gcc/arm-unknown-linux-gnueabi/5.1.0/../../../../arm-unknown-linux -gnueabi/бен/ld.bfd: не может найти /usr/lib/libpthread_nonshared.a

collect2: ошибка: л.д. возвращается 1 выход статус

При добавлении библиотеки -L/Buildroot или -L/подлокотники linux, чтобы найти libpthread, ./configure завершится с ошибкой. Копирование libpthread ... pmtstaging/usr/lib не влияет. Я уже успешно добавил libfreetype и libpng12 в pmtstaging. Плюс я скопировал libSDL2 и libz от Buildroot до pmtstaging.

Сможет ли кто-нибудь успешно скомпилировать SDL2_ttf в arm-linux? Это можно сделать?

ответ

-1

Чтобы перекрестно скомпилировать SDL_ttf, необходимо изменить 2 сценария компоновщика в строковом строке Строка.
- libc.so
- libpthread.so
См
Can't access Buildroot staging libraries via ./configure when cross compiling. It fails on test compile.
, почему.

Изменить /home/peter/igep2015/09Buildroot/buildroot-2016.02-TRY5/output/host/usr/armeb-buildroot-linux-gnueabi/sysroot/usr/lib/libc.so
ОТ:

/* GNU ld script 
    Use the shared library, but some functions are only in 
    the static library, so try that secondarily. */ 
OUTPUT_FORMAT(elf32-littlearm) 
GROUP (/lib/libc.so.6 /usr/lib/libc_nonshared.a AS_NEEDED (/lib/ld-linux.so.3)) 

TO:

/* GNU ld script 
    Use the shared library, but some functions are only in 
    the static library, so try that secondarily. */ 
OUTPUT_FORMAT(elf32-littlearm) 
GROUP (../../lib/libc.so.6 libc_nonshared.a AS_NEEDED (../../lib/ld-linux.so.3)) 

Изменить
/home/peter/igep2015/09Buildroot/buildroot-2016.02-TRY5/output/host/usr/armeb-buildroot-linux-gnueabi/sysroot/usr/ Библиотека/libpthread.так
ОТ:

/* GNU ld script 
    Use the shared library, but some functions are only in 
    the static library, so try that secondarily. */ 
OUTPUT_FORMAT(elf32-littlearm) 
GROUP (/lib/libpthread.so.0 /usr/lib/libpthread_nonshared.a) 

TO:

/* GNU ld script 
    Use the shared library, but some functions are only in 
    the static library, so try that secondarily. */ 
OUTPUT_FORMAT(elf32-littlearm) 
GROUP (../../lib/libpthread.so.0 libpthread_nonshared.a) 

Теперь это нормальный
./configure
сделать
грим DESTDIR = установить

Этот пример предполагает, что Libpng и freetype были установлены в pmtstaging вне установочного каталога Buildroot - althou gh, вероятно, будет работать, используя строящую стропу Buildroot и удалив ссылку на pmtstaging.

export PATH=$PATH:/usr/local/xtools/arm-unknown-linux-gnueabi/bin/ 
export CC=arm-linux-gcc 
export CFLAGS="-v -Wl,--verbose"  ###optional for debugging 
export CPPFLAGS="-I/home/peter/igep2015/94SDLttf/pmtstaging/usr/include -I/home/peter/igep2015/09Buildroot/buildroot-2016.02-TRY5/output/host/usr/armeb-buildroot-linux-gnueabi/sysroot/usr/include -I/home/peter/igep2015/94SDLttf/pmtstaging/usr/include/freetype2" 
export LDFLAGS="-L/home/peter/igep2015/09Buildroot/buildroot-2016.02-TRY5/output/host/usr/armeb-buildroot-linux-gnueabi/sysroot/lib -L/home/peter/igep2015/09Buildroot/buildroot-2016.02-TRY5/output/host/usr/armeb-buildroot-linux-gnueabi/sysroot/usr/lib -L/home/peter/igep2015/94SDLttf/pmtstaging/usr/lib" 
./configure --host=arm-linux --prefix=/usr --with-freetype-prefix=/home/peter/igep2015/94SDLttf/pmtstaging/usr 
make 
make DESTDIR=/home/peter/igep2015/94SDLttf/pmtstaging/ install 
1

Вы действительно должны представить патчи в список рассылки Buildroot, даже если они не работают полностью, так что другие люди могут помочь вам. Задавать вопросы о коде, который нигде не доступен, не даст вам много ответов.

Смежные вопросы