[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: Fatal error: Cannot map library libdb-4.2.so

On Wednesday, July 7, 2004, at 09:56 AM, Howard Chu wrote:
Quanah Gibson-Mount wrote:
--On Wednesday, July 07, 2004 4:58 PM +0100 Jorge Ruão <jruao@fe.up.pt> wrote:
checking for Berkeley DB thread support... 50947:./conftest:
/sbin/loader: Fatal Error: Reference to unresolvable symbol
"pthread_mutexattr_init" in "/usr/local/BerkeleyDB.4.2/lib/libdb-4.2.so"

This would generally mean that your libdb-4.2.so file is linked against a library that isn't in your LD_LIBRARY_PATH prior to running configure for OpenLDAP, so that compiles against that BDB file fail.

Actually, there's something deeper wrong here; libdb-4.2.so should not have any dependencies on any pthread_* functions. This BDB library has not been built correctly.

Hm, my libdb.a has references to pthread_*. I didn't think that was surprising, since there's a lot of code in there trying to deal with thread safety. (But I've wondered how much potential there is for trouble, with OpenLDAP and who knows which of its dependency libraries all auto-configuring their own thread locking. DB's autoconfig sets HAVE_MUTEX_PTHREADS on Redhat RHE3, but HAVE_MUTEX_X86_GCC_ASSEMBLY on Redhat 7.3, etc.)

I haven't had a Tru64 host to deploy since it was called DEC/OSF, but
in those days I would have used -rpath when linking the application,
to specify the location(s) of any non-standard run-time libraries.
And like many platforms it may require special flags and libraries for
the reentrancy issues that come up with threads.

	Donn Cave, donn@u.washington.edu