Jean-Marc Lasgouttes wrote:
"Paul" == Paul Smith <[EMAIL PROTECTED]> writes:

There is something I do not understand: you have

Paul> $ locate bz | grep lib | grep -v libz
[...]
Paul> /usr/lib/libbz2.so.1
Paul> /usr/lib/libbz2.so.1.0.0


whereas your config.log says:
configure:5506: checking for main in -lAiksaurus
configure:5531: g++ -o conftest -O   conftest.cc -lAiksaurus -lbz2 -lc -lm  >&5
/usr/bin/ld: cannot find -lbz2
collect2: ld returned 1 exit status

Can someone tell me how come libbz2 is not found?

Does Paul have a /usr/lib/libbz2.so, with no version extension? -lbz2 won't resolve to /usr/lib/libbz2.so.1 without one, will it? (/usr/lib/libbz2.so should be a symlink to /usr/lib/libbz2.so.1.0.0)


That's the standard mechanism with SVR4 shared object versioning: /usr/lib contains one or more versions of the library with version extensions, plus a symbolic link from the no-version name to the version that should be used for programs being linked against that library. ld opens the .so through the symlink, gets its embedded version information, and records it in the binary, so that ldd knows which version to dynamically link into the process at startup. So ldd wants the filenames with suffixed version numbers, but ld wants them with no suffix.

Presumably, the fix would be to create the missing symlink:

        su root ln -s libbz2.so.1.0.0 /usr/lib/libbz2.so

but I haven't tried this myself.

--
Michael Wojcik



Reply via email to