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

Re: Compiling for the Win32 platform?



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/db/4.5.20/db-msi.html

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'.