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

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Ср Дек 25 20:16:53 MSK 2002


On Wed, 25 Dec 2002 19:48:17 +0300
"Dmitry V. Levin" <ldv на altlinux.org> wrote:

> 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/, то всё
> > собирается хорошо.
> 
> Это неправильно.

А почему неправильно? Ведь, судя по сообщениям, dlopen() используется
именно в liblualib.so.N - почему бы в её зависимости не добавить
libdl.so.2?



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