[devel] как правильно слинковать динамическую библиотеку
Dmitry V. Levin
=?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Ср Дек 25 19:48:17 MSK 2002
On Wed, Dec 25, 2002 at 02:53:33PM +0300, Alexey Tourbin 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/, то всё
> собирается хорошо.
Это неправильно.
> И
> gcc -o ../../bin/tolua tolua.o tolualua.o -L/usr/lib -L../../lib -ltolua -llua -llualib -lm -ldl
> тоже собирается хорошо.
А вот это правильно.
> А вопрос такой: какую бы мне доку прочитать, чтобы до конца разобраться,
> как это всё правильно должно подцепляться.
info ld, на тему "-shared".
Advanced reading: http://people.redhat.com/drepper/dsohowto.pdf
--
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/c3ec112a/attachment-0001.bin>
Подробная информация о списке рассылки Devel