On Sat, Mar 18, 2006 at 10:06:45PM +0300, Dmitry V. Levin wrote: [...] > $ gcc -Wall foo3.c -o foo3 -L. -lfoo2 -Wl,-rpath-link,. > > Тонкость в том, что раньше ещё и так работало (хоть и ругалось): > $ gcc -Wall foo3.c -o foo3 -L. -lfoo2 -lfoo1 > /usr/bin/ld: warning: libfoo1.so, needed by ./libfoo2.so, not found (try using -rpath or -rpath-link) > > А теперь так не работает: > $ gcc -Wall foo3.c -o foo3 -L. -lfoo2 -lfoo1 > /usr/bin/ld: warning: libfoo1.so, needed by ./libfoo2.so, not found (try using -rpath or -rpath-link) > ./libfoo2.so: undefined reference to `foo1' > collect2: ld returned 1 exit status > > Я пока что не знаю, это фича или нет. Скоро ситуация прояснится. Это bugfix, см. http://sourceware.org/ml/binutils/2006-03/msg00259.html Так что надо будет постепенно всё это зафиксить и за'upstream'ить. -- ldv