libcoin / libcoin

libcoin
http://libcoin.github.com/libcoin/
GNU Lesser General Public License v3.0
79 stars 17 forks source link

Check additional paths for bdb on OS X and BSD #43

Open indolering opened 10 years ago

indolering commented 10 years ago

I have been unable to build on OS X, snippet of errors below and CMakeOutput.log gist. I have logs for an attempted build on a fresh OS X install if that would help.

CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
BDB_LIBRARY
    linked by target "coinWallet" in directory /Users/indolering/libcoin/src/coinWallet
    linked by target "coinPool" in directory /Users/indolering/libcoin/src/coinPool
    linked by target "app_libcoind" in directory /Users/indolering/libcoin/applications/libcoind
    linked by target "app_coinexplorer" in directory /Users/indolering/libcoin/applications/coinexplorer
    linked by target "example_simplecoin" in directory /Users/indolering/libcoin/examples/simplecoin
    linked by target "example_ponzicoin" in directory /Users/indolering/libcoin/examples/ponzicoin
    linked by target "example_extrawallet" in directory /Users/indolering/libcoin/examples/extrawallet
bytting commented 10 years ago

I solved this one by installing the package libdb5.3++-dev on linux. Are you sure you have the correct packages installed?

phillipsjk commented 10 years ago

I was able to reproduce this issue with FreeBSD 9.2-RELEASE-p3

$ ./configure
-- Optional package Sqlite3 was not found
-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   chrono
--   date_time
--   regex
--   filesystem
--   system
--   program_options
--   thread
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
BDB_LIBRARY
    linked by target "app_libcoind" in directory /home/namecoin/libcoin/applications/libcoind
    linked by target "app_coinexplorer" in directory /home/namecoin/libcoin/applications/coinexplorer
    linked by target "example_simplecoin" in directory /home/namecoin/libcoin/examples/simplecoin
    linked by target "example_ponzicoin" in directory /home/namecoin/libcoin/examples/ponzicoin
    linked by target "example_extrawallet" in directory /home/namecoin/libcoin/examples/extrawallet
SQLITE3_LIBRARY_DEBUG
    linked by target "app_libcoind" in directory /home/namecoin/libcoin/applications/libcoind
    linked by target "app_coinexplorer" in directory /home/namecoin/libcoin/applications/coinexplorer
    linked by target "app_cryptoshi" in directory /home/namecoin/libcoin/applications/cryptoshi
    linked by target "example_simplecoin" in directory /home/namecoin/libcoin/examples/simplecoin
    linked by target "example_ponzicoin" in directory /home/namecoin/libcoin/examples/ponzicoin
    linked by target "example_extrawallet" in directory /home/namecoin/libcoin/examples/extrawallet

-- Configuring incomplete, errors occurred!
See also "/home/namecoin/libcoin/CMakeFiles/CMakeOutput.log".
See also "/home/namecoin/libcoin/CMakeFiles/CMakeError.log".

I have the db48 package installed. The include files live:

/usr/local/include/db48/

Including:

db.h            db_185.h        db_cxx.h

The there are 4 BDB-related symlinks in:

/usr/local/include/lib/

Including:

libdb-4.8.so
libdb-4.8.so.0
libdb_cxx-4.8.so
libdb_cxx-4.8.so.0

The version-less library symlinks appear to live in:

/usr/local/lib/db48

When I added (hard?) links with the generic name in /usr/local/lib/, it worked:

-- Optional package Sqlite3 was not found
-- Boost version: 1.55.0
-- Found the following Boost libraries:
--   chrono
--   date_time
--   regex
--   filesystem
--   system
--   program_options
--   thread
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
SQLITE3_LIBRARY_DEBUG
    linked by target "app_libcoind" in directory /home/namecoin/libcoin/applications/libcoind
    linked by target "app_coinexplorer" in directory /home/namecoin/libcoin/applications/coinexplorer
    linked by target "app_cryptoshi" in directory /home/namecoin/libcoin/applications/cryptoshi
    linked by target "example_simplecoin" in directory /home/namecoin/libcoin/examples/simplecoin
    linked by target "example_ponzicoin" in directory /home/namecoin/libcoin/examples/ponzicoin
    linked by target "example_extrawallet" in directory /home/namecoin/libcoin/examples/extrawallet

-- Configuring incomplete, errors occurred!
See also "/home/namecoin/libcoin/CMakeFiles/CMakeOutput.log".
See also "/home/namecoin/libcoin/CMakeFiles/CMakeError.log".

It appears SQLITE3 is not optional though.

phillipsjk commented 10 years ago

Symlinks work fine too (apparently ln defaults to hard links)

indolering commented 10 years ago

I symlinked to dbd as phillipsjk suggested:

ls  /usr/local/lib/db48 
libdb-4.8.a         libdb-4.8.la        libdb.a             libdb_cxx-4.8.a     libdb_cxx-4.8.la    libdb_cxx.a
libdb-4.8.dylib     libdb-4.dylib       libdb.dylib         libdb_cxx-4.8.dylib libdb_cxx-4.dylib   libdb_cxx.dylib

But I continue to receive the same error. I installed everything using MacPorts and ./config seems to have found plenty of utilities in the /opt/ directory, but not BDB.

indolering commented 10 years ago

Okay, I misunderstood what needed to be symlinked, ln -s /opt/local/lib/db48/* /usr/local/lib/ seems to do the trick.

Changing title of bug, please suggest how I should frame this.