[sisyphus] binutils problem?
Alexey Tourbin
at на altlinux.ru
Вт Апр 25 07:36:04 MSD 2006
On Mon, Apr 24, 2006 at 11:25:39PM -0400, Ivan Adzhubey wrote:
> Да вот я никак и не могу понять, чего же ему нехватает... Тест, который не
> проходит, очень простой: собирается тестовая программа, которая содеожит в
> main() вызовы всех функций, определенных в тестируемой библиотеке (libgoto,
> оптимизированная библиотека линейной алгебры), затем эта тестовая программа
> линкуется со свежесобранной библиотекой. В самой библиотеке есть вызоовы к
> стандартной libm (sqrt() например), линкуется это все конечно с флагом -lm.
> Но линковка все равно обламывается:
>
> ./gensymbol linktest _ > linktest.c
> gcc -O2 -Wall -fPIC -DF_INTERFACE_F2C -DNEED_F2CCONV -DSMP_SERVER -pthread -DMAX_CPU_NUMBER=2 -DASMNAME= -DASMFNAME=_ -DNAME=_ -DCNAME= -DBUNDERSCORE=_ -DNEEDBUNDERSCORE -I.. -DARCH_X86 -DPENTIUM4 -DL1_DATA_SIZE=8192 -DL1_DATA_LINESIZE=64 -DL2_SIZE=524288 -DL2_LINESIZE=64 -DDTB_ENTRIES=64 -DDTB_SIZE=4096 -DL2_ASSOCIATIVE=8 -DHAVE_CMOV -DHAVE_MMX -DHAVE_SSE -DHAVE_SSE2 -DCORE_NORTHWOOD -w -o /dev/null
> linktest.c ../libgoto_northwoodp-r1.02.so -lpthread -lm && echo OK.
> ../libgoto_northwoodp-r1.02.so: undefined reference to `sqrt'
Вот эта библиотека - ../libgoto_northwoodp-r1.02.so она не слинкована c -lm.
Соответственно никто с этой библиотекой слинковаться не может.
Сейчас в сизифе при сборке появился ещё один важный нюанс: в командной
строке все *.o файлы должны идити ПЕРЕД *.so и -lчто-то. Иначе *.so и
-lчто-то будут проигнорированы.
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 189 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/sisyphus/attachments/20060425/3385af6d/attachment.bin
Подробная информация о списке рассылки Sisyphus