Renaming and symlinking shared libraries
alepulver at FreeBSD.org
Mon Jul 3 17:29:04 UTC 2006
-----BEGIN PGP SIGNED MESSAGE-----
On Mon, 03 Jul 2006 11:40:27 +0200
Alexander Leidinger <Alexander at Leidinger.net> wrote:
> Quoting Alejandro Pulver <alepulver at freebsd.org> (from Sat, 1 Jul 2006
> 20:25:22 -0300):
> > AFAIK the symlinks would be (under lib/, in src->dest form) the
> > following. This shows the renaming of libtest to libtest-2, with major
> > version of 2.
> > libtest-2.so -> libtest-2.so.2
> > libtest-2.so.2 -> test2/libtest-2.so.2 (real)
> > Inside test2/.
> > libtest.so -> libtest-2.so
> > libtest-2.so -> libtest-2.so.2 (real)
> > Then I link a program with "cc -o test -L/usr/local/lib/test2 -ltest".
> > I did it with lua4 but after linking 'ldd' says it can't find
> > "libtest.so".
> > Have I missed something?
> You have to ldconfig the test2 directory, else the run-time linker
> will not find the lib (it doesn't know where to search for it).
Thank you for your reply.
But then how do the databases/dbXX ports achieve the same result
without it? I thought it should find it since there is a symlink
in /usr/local/lib that points to it. I want that when I compile a
program with -L/usr/local/lib/test -ltest it actually links to test-2
for example. Please look at the dbXX ports to see what I mean.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (FreeBSD)
-----END PGP SIGNATURE-----
More information about the freebsd-ports