2013-11-27 3 views
4

Я пытаюсь скомпилировать ucLinux с libCurl, но в любое время, когда я включаю curl в config, это barfs при попытке скомпилировать libbzip2.ucLinux libbzip2 ошибка типа reloc при скрещивании скомпилированных

Я перекрестно компилирую это для процессоров холодного огня 68K.

В нем говорится, что тип перемещения не поддерживается для ПОС, но я не знаю, как это решить. У меня создалось впечатление, что все библиотеки должны быть составлены как ПИК в любом случае.

Вот результат:

make[4]: Entering directory `/home/lantronix/linuxsdk/linux/lib/libbzip2' 
ucfront-gcc m68k-uclinux-gcc -mcpu=5208 -DCONFIG_COLDFIRE -O2 -g -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall -DEMBED -fno-dwarf2-cfi-asm -msep-data -Dlinux -D__linux__ -Dunix -D__uClinux__ -c blocksort.c 
ucfront-gcc m68k-uclinux-gcc -mcpu=5208 -DCONFIG_COLDFIRE -O2 -g -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall -DEMBED -fno-dwarf2-cfi-asm -msep-data -Dlinux -D__linux__ -Dunix -D__uClinux__ -c huffman.c 
ucfront-gcc m68k-uclinux-gcc -mcpu=5208 -DCONFIG_COLDFIRE -O2 -g -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall -DEMBED -fno-dwarf2-cfi-asm -msep-data -Dlinux -D__linux__ -Dunix -D__uClinux__ -c crctable.c 
ucfront-gcc m68k-uclinux-gcc -mcpu=5208 -DCONFIG_COLDFIRE -O2 -g -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall -DEMBED -fno-dwarf2-cfi-asm -msep-data -Dlinux -D__linux__ -Dunix -D__uClinux__ -c randtable.c 
ucfront-gcc m68k-uclinux-gcc -mcpu=5208 -DCONFIG_COLDFIRE -O2 -g -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall -DEMBED -fno-dwarf2-cfi-asm -msep-data -Dlinux -D__linux__ -Dunix -D__uClinux__ -c compress.c 
ucfront-gcc m68k-uclinux-gcc -mcpu=5208 -DCONFIG_COLDFIRE -O2 -g -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall -DEMBED -fno-dwarf2-cfi-asm -msep-data -Dlinux -D__linux__ -Dunix -D__uClinux__ -c decompress.c 
ucfront-gcc m68k-uclinux-gcc -mcpu=5208 -DCONFIG_COLDFIRE -O2 -g -fomit-frame-pointer -pipe -fno-common -fno-builtin -Wall -DEMBED -fno-dwarf2-cfi-asm -msep-data -Dlinux -D__linux__ -Dunix -D__uClinux__ -c bzlib.c 
ucfront-gcc m68k-uclinux-gcc -mcpu=5208 -DCONFIG_COLDFIRE -shared -Wl,-soname -Wl,libbz2.so.1.0 -o libbz2.so.1.0.3 blocksort.o huffman.o crctable.o randtable.o compress.o decompress.o bzlib.o 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
ERROR: reloc type R_68K_32 is not supported for PIC 
43 bad relocs 
/home/lantronix/linuxsdk/toolchains/freescale-coldfire-4.4/m68k-uclinux/bin/ld.real: warning: cannot find entry symbol _start; defaulting to 00000000 
collect2: ld returned 1 exit status 
make[4]: *** [all] Error 1 
make[4]: Leaving directory `/home/lantronix/linuxsdk/linux/lib/libbzip2' 
make[3]: *** [libbzip2] Error 2 
make[3]: Leaving directory `/home/lantronix/linuxsdk/linux/lib' 
make[2]: *** [all] Error 2 
make[2]: Leaving directory `/home/lantronix/linuxsdk/linux/lib' 
make[1]: *** [subdirs] Error 1 
make[1]: Leaving directory `/home/lantronix/linuxsdk/linux' 
make: *** [build] Error 2 
+0

Вы пробовали вручную указывать '-fPIC'? Вся сборка нуждается в ней или должна быть без нее - вы не можете смешивать. – lynxlynxlynx

+0

Попробуйте перекомпилировать без -fpIC ... (также, пожалуйста, сообщите мне @, поскольку я не проверяю ответы вручную) – user2284570

ответ

0

Я обнаружил, что выбивание -msep-data флага (или положить -mno-sep-data после него) делает эти предупреждения уходят. Из GCC doc page:

Генерация кода, который позволяет сегмент данных, которые будут расположены в другой области памяти из текстового сегмента. Это позволяет выполнить в среде без управления виртуальной памятью. Эта опция подразумевает -fPIC.

Я также обнаружил, что -fPIC или -fno-PIC не имел никакого эффекта.

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