[sisyphus] binutils problem?

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Вт Апр 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что-то будут проигнорированы.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/sisyphus/attachments/20060425/3385af6d/attachment-0003.bin>


Подробная информация о списке рассылки Sisyphus