Date: Mon, 17 Jul 2000 09:20:32 +0300 From: Maxim Sobolev <sobomax@FreeBSD.org> To: Satoshi - Ports Wraith - Asami <asami@FreeBSD.org> Cc: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: ports/x11-toolkits/xforms Makefile ports/x11-toolkits/xforms/pkg PLIST Message-ID: <3972A5B0.B0889573@FreeBSD.org> References: <200007141159.EAA97550@freefall.freebsd.org> <vqc1z0ufnkd.fsf@silvia.hip.berkeley.edu>
next in thread | previous in thread | raw e-mail | index | archive | help
Satoshi - Ports Wraith - Asami wrote: > * From: Maxim Sobolev <sobomax@FreeBSD.org> > > * Create libform.so --> libxform.so.1 link, because it seems that library has > * been built with --soname option and w/o this link dynamically-linked > * executables don't work. > > I'm missing something here. What does the symlink have to do with > dynamically-linked executables? .so links are supposed to be used for > compile-time linkage only. > > And -soname is supposed to be there, it's not like it's this > software's mistake to include it. Ok, it seems that I should slightly expand my explanation. The xforms libraries comes only in binary form but author was stupid enough to compile shared library with "-soname libforms.so", while the library is installed under libxform.so.1 name. Therefore after you linked it dynamically the resulting executable appears to be linked with nonexisting libform.so shared library. $ echo 'int main() {}' > x.c $ cc x.c -o x -L/usr/X11R6/lib -lxforms -lX11 -lm $ ldd x x: libforms.so => /usr/X11R6/lib/libforms.so (0x28064000) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x28135000) libm.so.2 => /usr/lib/libm.so.2 (0x28226000) libc.so.4 => /usr/lib/libc.so.4 (0x28241000) libc.so.3 => /usr/lib/compat/libc.so.3 (0x282d1000) -Maxim To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3972A5B0.B0889573>