[devel] как правильно слинковать динамическую библиотеку

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Ср Дек 25 20:28:39 MSK 2002


On Wed, Dec 25, 2002 at 08:16:53PM +0300, Sergey Vlasov wrote:
> > > Есть такое дело (lua):
> > > 
> > > %changelog
> > > * Tue Dec 24 2002 Alexey Tourbin <at на altlinux.ru> 4.0.1-alt4
> > > - error in previous build: *.so files are binary copy of *.so.* files,
> > >   not symlinks; fixed
> > > - really shared build (s/ld -shared/ld -shared -lc/ in alt-soname patch)
> > 
> > И это правильно.
> > 
> > > gcc -o ../../bin/tolua tolua.o tolualua.o -L/usr/lib -L../../lib -ltolua -llua -llualib -lm
> > > /usr/lib/liblualib.so: undefined reference to `dlclose'
> > > /usr/lib/liblualib.so: undefined reference to `dlopen'
> > > /usr/lib/liblualib.so: undefined reference to `dlsym'
> > > collect2: ld returned 1 exit status
> > > 
> > > Если же пересобрать lua c s/ld -shared/ld -shared -lc -ldl/, то всё
> > > собирается хорошо.
> > 
> > Это неправильно.
> 
> А почему неправильно? Ведь, судя по сообщениям, dlopen() используется
> именно в liblualib.so.N - почему бы в её зависимости не добавить
> libdl.so.2?

Если существует реальное использование этой библиотеки без задействования
dlopen(3), то не стоит; если не существует, то нужно добавить.


--
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?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/devel/attachments/20021225/43f85f89/attachment-0001.bin>


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