Berkeley DB: Building for UNIX: FAQ
Description: Berkeley DB: An embedded database programmatic toolkit.
Keywords: embedded,database,programmatic,toolkit,b+tree,btr ee,hash,hashing,transaction,transactions,locking,logging,access method,access me thods,java,C,C++

# Building for UNIX: FAQ

1. The db_dump185 utility fails to build.

   If the errors look something like:

       cc -o db_dump185 db_dump185.o
       ld:
       Unresolved:
       dbopen

   it means that the Berkeley DB 1.85 code was not found in the standard libraries. To build db_dump185 (the utility that converts Berkeley DB 1.85 and earlier databases to Berkeley DB version 2.X), you must have already built and installed the Berkeley DB version 1.85 code on the system. If the Berkeley DB 1.85 code is not part of the standard libraries used for loading, you will need to edit your Makefile, and change the lines:

       DBE=	db_dump185.o $(CLOBJS)
       db_dump185: $(DBE)
       	$(CC) -o $@ $(DBE)

   So that the library where the Berkeley DB 1.85 code is found is loaded, e.g.,

       DBE=	db_dump185.o $(CLOBJS)
       db_dump185: $(DBE)
       	$(CC) -o $@ $(DBE) -ldb185

2. Berkeley DB programs fail when I use a NFS (or other remote-mount) filesystem.

   See Shared Memory Regions for more information.

3. I get unexpected results and database corruption when running threaded programs.

   Make sure that you're using the right compile-time flags and libraries. See Compiling Threaded Applications for more information.

4. I get the error "libc internal error: _rmutex_unlock: rmutex not held", followed by a core dump, when running threaded or JAVA programs.

   This is a known bug in Solaris 2.5 and it is fixed by Sun patch 103187-25.