On 5/15/07, Joe Flowers flowers@social.chass.ncsu.edu wrote:
Alright, I'm down to here now in MSYS:
"configure: error: BDB/HDB: BerkeleyDB not available"
http://www.oracle.com/technology/software/products/berkeley-db/index.html http://www.oracle.com/technology/software/products/berkeley-db/htdocs/popup/...
If I'm off base, please let me know, but the answer seems to be right around here somewhere.
Joe
... checking db.h usability... no checking db.h presence... yes configure: WARNING: db.h: present but cannot be compiled configure: WARNING: db.h: check for missing prerequisite headers? configure: WARNING: db.h: see the Autoconf documentation configure: WARNING: db.h: section "Present But Cannot Be Compiled" configure: WARNING: db.h: proceeding with the preprocessor's result configure: WARNING: db.h: in the future, the compiler will take precedence configure: WARNING: ## --------------------------------------------- ## configure: WARNING: ## Report this to http://www.openldap.org/its/ ## configure: WARNING: ## --------------------------------------------- ## checking for db.h... yes checking for Berkeley DB major version... 4 checking for Berkeley DB minor version... 5 checking for Berkeley DB link (-ldb45)... no checking for Berkeley DB link (-ldb-45)... no checking for Berkeley DB link (-ldb-4.5)... no checking for Berkeley DB link (-ldb-4-5)... no checking for Berkeley DB link (-ldb-4)... no checking for Berkeley DB link (-ldb4)... no checking for Berkeley DB link (-ldb)... no checking for Berkeley DB link (default)... no configure: error: BDB/HDB: BerkeleyDB not available
Joe@CUSTOM ~/openldap-2.3.35
It looks like configure found the file db.h, which is human-readable and good for getting the version (like it did), but when it tried to link to the actual library (.so and .a in unix, .dll in windows?) (-ldb45 is the switch that's failing, which is the linking)
You'd specify that path with -L in gcc. Try adding this to your CFLAGS environment.
From man gcc:
-llibrary Use the library named library when linking.
The linker searches a standard list of directories for the library, which is actually a file named `liblibrary.a'. The linker then uses this file as if it had been specified precisely by name.
The directories searched include several standard sys- tem directories plus any that you specify with `-L'.