[devel] --as-needed
Dmitry V. Levin
ldv на altlinux.org
Вт Май 23 02:36:05 MSD 2006
On Tue, May 23, 2006 at 02:20:35AM +0400, Vitaly Lipatov wrote:
> On Monday 22 May 2006 03:37, Dmitry V. Levin wrote:
> > On Mon, May 22, 2006 at 03:26:24AM +0400, Vitaly Lipatov wrote:
> > > On Tuesday 28 March 2006 02:50, Dmitry V. Levin wrote:
> > > ...
> > >
> > > > > > $ 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
> > > > > >
> > > > > > Я пока что не знаю, это фича или нет. Скоро ситуация
> > > > > > прояснится.
> ...
> > Это длительный процесс, постепенно фиксим и upstream'им.
> >
> > > Натолкнулся на пакеты, которые НЕ ищут библиотеки в
> > > каталогах, указанных параметром -L.
> >
> > Не понял, кто что не ищет? Параметр -L определяет каталоги
> > для поиска, а не библиотеки для линковки.
> Да. Насколько я понимаю, через -L указывается каталог где лежит
> libfoo.so, а потом -lfoo подключает эту библиотеку к линковке.
> И это не работает :)
> Разве не об этом речь в проблеме, показанном вами выше
> ( $ gcc -Wall foo3.c -o foo3 -L. -lfoo2 -lfoo1 ) ?
Нет, не об этом. Параметр -L определяет каталоги для поиска библиотек,
которые указаны в форме -lfoo. В том примере, который я приводил,
библиотека ./libfoo2.so уже была слинкована с libfoo1.so.
Параметр -L не влияет на поиск библиотек, с которыми файл уже слинкован.
--
ldv
----------- следущая часть -----------
Было удалено вложение не в текстовом формате...
Имя : отсутствует
Тип : application/pgp-signature
Размер : 191 байтов
Описание: отсутствует
Url : http://lists.altlinux.org/pipermail/devel/attachments/20060523/84cbd49c/attachment.bin
Подробная информация о списке рассылки Devel