these files are located in /usr/pkg/include/db4
samsa% ls /usr/pkg/include/db4 db.h db_185.h db_cxx.h
these files are located in /usr/pkg/include/db4
samsa% ls /usr/pkg/include/db4 db.h db_185.h db_cxx.h
Same issue here:
CentOS running on a virtual machine.
locate db_cxx.h /usr/include/db_cxx.h /usr/include/db4/db_cxx.h /usr/share/doc/db4-devel-4.7.25/ref/upgrade.3.0/db_cxx.html _
Contents of config.log: http://pastebin.com/N1jW9GuF
Since there is no libdb++ in official CentOs repo, I’ve done the following to fix this problem
I have the same issue: I’ve compiled BDB from source but dont want to install it. Can I point the configure script to my db_cxx.h somehow?
Edit: I’ve added it to ./src/m4/bitcoin_find_bdb48.m4
:
0 bdbdirlist=/path/to/compiled/db-4.8.30.NC/build_unix/build/include
Works.
cd ~/db-4.8.30.NC/build_unix make sudo make install
Check that there is a BerkeleyDB.4.8 folder in /usr/local
ls /usr/local
then create a symbolic link:
ln -s /usr/local/BerkeleyDB.4.8 /usr/include/db4.8
and then do:
ln -s /usr/local/db4.8/include/* /usr/include ln -s /usr/local/db4.8/lib/* /usr/lib
Any benefit to the symlink vs something like:
0echo "/usr/local/lib" > /etc/ld.so.conf.d/db-4.8.30.conf
1ldconfig
[centos 6.5, current bitcoin version] I seem to have successfully compiled bitcoind, however, when I try to run it, I get the following:
./bitcoind: error while loading shared libraries: libdb_cxx-4.8.so: cannot open shared object file: No such file or directory
Having followed the directions here, I downloaded and compiled 4.8 source, but I can’t seem to get any BerkeleyDB.4.8 folders to be generated in /usr/local. I have, however, located libdb_cxx-4.8.so in db-4.8.30.NC/build_unix/.libs
If I simply copy or reference this .so file in the correct places, should that resolve the issue? Using ’locate libdb_cxx’ I get entries for ’libdb_cxx.so’ and ’libdb_cxx-4.7.so’ in /usr/lib64, but that’s all.
Should I point bitcoin/src/m4/bitcoin_find_bdb48.m4, line:7, to ‘bdbdirlist=/root/berkeley-db/db-4.8.30.NC/build_unix/.libs’ ? (the db-4.8.30.NC/build_unix/build/include directory mentioned above does not exist for me).
Copying libdb_cxx-4.8.so do /usr/lib64 does not seem to resolve the issue.
My apologies in advance for my limited understanding. I’m still getting up to speed with several layers of abstraction involved here. Thanks in advance. Full post here: https://bitcointalk.org/index.php?topic=588032
Thanks for the quick reply coincapsig.
I have tried this following alexander’s method as per the above:
1. Download sources of BerkeleyDb 4.8 2. Go to /build_unix/ 3. ../dist/configure --prefix=/usr/local --enable-cxx 4. make 5. (as root) make install
but doing a locate libdb_cxx
still only shows the ibdb_cxx.so and libdb_cxx-4.7.so as being in /usr/lib64/
I feel your pain dilo, I have the exact same issue on this build: Linux version 2.6.32-431.11.2.el6.x86_64 (mockbuild@c6b8.bsys.dev.centos.org) (gcc version 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC) ) #1 SMP Tue Mar 25 19:59:55 UTC 2014
Here is the output from the last 2 lines before ./configure fails.
checking for Berkeley DB C++ headers… no configure: error: libdb_cxx headers missing
I have also done as Alex has said above and it did not work for me either.
For those building libcxx from scratch, can you try following the updated steps here?
https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md#berkeley-db
This avoids having to install globally.
This exact same problem lives on. Debian 7.9 in Feb 2016.
This solved the problem, sort of: apt-get install libdb++-dev
The consequent new error was this: configure: error: Found Berkeley DB other than 4.8, required for portable wallets (–with-incompatible-bdb to ignore)
Adding the above suggestion to configure allowed compilation, but this warning appeared: configure: WARNING: Found Berkeley DB other than 4.8; wallets opened by this build will not be portable!
On Ubuntu 16.04, here is how I solved it.
sudo add-apt-repository ppa:bitcoin/bitcoin sudo apt-get update sudo apt-get install libdb4.8-dev libdb4.8++-dev
On centos 7.4 and installed libdb、libdb-devel、libdb-cxx、libdb-cxx-devel, but the version is too high. So I searched lower version at https://www.rpmfind.net. Use rpm to install
0rpm -ivh libdb4-4.8.30-13.el7.x86_64.rpm
1rpm -ivh libdb4-devel-4.8.30-13.el7.x86_64.rpm
2rpm -ivh libdb4-cxx-4.8.30-13.el7.x86_64.rpm
3rpm -ivh libdb4-cxx-devel-4.8.30-13.el7.x86_64.rpm
Then ./configure
passed.
@yuexiahandao your suggestion helped me.thx.
here is my env:
0[root@localhost bitcoin]# cat /etc/redhat-release
1CentOS Linux release 7.2.1511 (Core)
2[root@localhost bitcoin]# uname -rm
33.10.0-327.el7.x86_64 x86_64
4[root@localhost bitcoin]#
here is the problem:
0[root@localhost bitcoin]# ./configure
1checking build system type... x86_64-unknown-linux-gnu
2checking host system type... x86_64-unknown-linux-gnu
3...
4...
5checking for MSG_NOSIGNAL... yes
6checking for Berkeley DB C++ headers... no
7configure: error: libdb_cxx headers missing
8[root@localhost bitcoin]#
last,the resolution is:
0wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-4.8.30-13.el7.x86_64.rpm
1wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-devel-4.8.30-13.el7.x86_64.rpm
2wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-cxx-4.8.30-13.el7.x86_64.rpm
3wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-cxx-devel-4.8.30-13.el7.x86_64.rpm
and
0rpm -ivh libdb4-4.8.30-13.el7.x86_64.rpm
1rpm -ivh libdb4-devel-4.8.30-13.el7.x86_64.rpm
2rpm -ivh libdb4-cxx-4.8.30-13.el7.x86_64.rpm
3rpm -ivh libdb4-cxx-devel-4.8.30-13.el7.x86_64.rpm
May be it will help someone:
I had the issue with error configure: error: libdb_cxx headers missing
My problem was related to the step sudo update-alternatives –config x86_64-w64-mingw32-g++ # Set the default mingw32 g++ compiler option to posix.
During first installation, I did everything like in instructions, but for some reason i didn’t have choice to input a number to select appropriate mingw (posix). May be I just didn’t see it. I’ve seen this comment “# Set the default mingw32 g++ compiler option to posix.” but thought that may be this command will do everything needed.
But during second clean installation I payed more attention and selected appropriate one with posix and then stem with make HOST=x86_64-w64-mingw32 took much much more time and everything become ok and I didn’t have this error.
It’s regarding official installation build-windows with WSL ubuntu 16
this code fix it for me :
0 wget http://download.oracle.com/berkeley-db/db-4.8.30.zip
1 unzip db-4.8.30.zip
2 cd db-4.8.30
3 cd build_unix/
4 ../dist/configure --prefix=/usr/local --enable-cxx
5 make
6 make install
(source https://cryptoandcoffee.com/mining-gems/install-berkeley-4-8-db-libs-on-ubuntu-16-04/ )
./bitcoind: error while loading shared libraries: libdb_cxx-4.8.so: cannot open shared object file: No such file or directory
.
But I fixed this issue on easy way.
You only need to check libdb_cxx-4.8.so is exist in /usr/local/lib/
and /usr/local/lib64/
(someone said need to check /usr/local/src/db-xx/build_unix/.lib/
too), then I didn’t found libdb_cxx-4.8.so in lib64, so I do sudo ln -sf /usr/local/BerkeleyDB.4.8/lib/libdb_cxx-4.8.so /usr/lib64/libdb_cxx-4.8.so
, it works!!!!
I hope it can help you.
paulogeyer
luke-jr
ghedipunk
Diapolo
gongchengra
laanwj
alexander-ivanov
tjuryakin
donSchoe
lrascao
coincapsig
jameshartig
dlio
akstunt
chill117
MichaelBrenden
xiaoxiaoleo
ROBERT-MCDOWELL
chenluyong
ronaldpetty
radoeka
creativearmy
yuexiahandao
renguzi
bellaj
meatwas
squacky
malickf
Zoe748
Labels
Bug
Build system