From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 24 Apr 2006 23:25:39 -0400 From: Ivan Adzhubey In-reply-to: <20060425031704.GR8441@localhost> To: sisyphus@lists.altlinux.org Message-id: <200604242325.40046.iadzhubey@rics.bwh.harvard.edu> MIME-version: 1.0 Content-type: text/plain; charset=koi8-r Content-transfer-encoding: 8BIT Content-disposition: inline References: <200604242256.51166.iadzhubey@rics.bwh.harvard.edu> <200604242305.35451.iadzhubey@rics.bwh.harvard.edu> <20060425031704.GR8441@localhost> User-Agent: KMail/1.9.1 Subject: Re: [sisyphus] binutils problem? X-BeenThere: sisyphus@lists.altlinux.org X-Mailman-Version: 2.1.7 Precedence: list Reply-To: ALT Linux Sisyphus discussion list List-Id: ALT Linux Sisyphus discussion list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Apr 2006 03:25:58 -0000 Archived-At: List-Archive: List-Post: On Monday 24 April 2006 23:17, Alexey Tourbin wrote: > On Mon, Apr 24, 2006 at 11:05:35PM -0400, Ivan Adzhubey wrote: > > On Monday 24 April 2006 23:03, Alexey Tourbin wrote: > > > On Mon, Apr 24, 2006 at 10:56:51PM -0400, Ivan Adzhubey wrote: > > > > # nm /usr/lib/libm.so > > > > nm: /usr/lib/libm.so: no symbols > > > > > > nm -D > > > > Спасибо за наводку, так работает. Это изменение в nm? > > Нет, всегда так было. > Кажется, nm штука древняя и без опций "правильно" работает с *.a архивами. > > > Надо править configure > > скрипты? Подскажите пожалуйста, если у вас есть опыт, а то у меня - нет, > > а собрать надо срочно! > > А зачем это вообще для сборки нужно? Там наверное можно целый кусок > закомментировать, если понять, чего он хочет и что ему на самом деле нужно. Да вот я никак и не могу понять, чего же ему нехватает... Тест, который не проходит, очень простой: собирается тестовая программа, которая содеожит в 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' collect2: ld returned 1 exit status make: *** [test] Error 1 Наверное можно и проще, слинковать что-то типа: int main(void){ sqrt(); return 0;} Сейчас попробую. Что-то я совсем не понимаю, что происходит... -- Иван