これらのファイルは/ usr / pkg / include / db4にあります
samsa%ls / usr / pkg / include / db4
db.h db_185.h db_cxx.h
/ usr / pkg / includeがインクルードパスに含まれている場合、このパスはすでに検索されているはずです... config.logを投稿できますか?
ここで同じ問題:
仮想マシンで実行されているCentOS。
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
_
config.logの内容: http :
最新のマスターにまだ問題がありますか? 新しいautotoolsシステムに変更があったので、もう一度試してみてください。
Ubuntu13.04でも同じ問題が発生します。
sudo apt-get install libdb ++-devは私の問題を解決します。
libdbがインストールされていない場合は明らかにそのエラーが発生します...注意深く読むと、元のポスターにはライブラリがインストールされていますが、検出されないため、同じ問題ではありません。
公式のCentOsリポジトリにはlibdb ++がないため、この問題を修正するために次のことを行いました
アレックス、ありがとう!
同じ問題があります。ソースからBDBをコンパイルしましたが、インストールしたくありません。 どういうわけか、configureスクリプトでdb_cxx.hを指定できますか?
編集: ./src/m4/bitcoin_find_bdb48.m4
追加しました:
bdbdirlist=/path/to/compiled/db-4.8.30.NC/build_unix/build/include
動作します。
より良いオプションは、構成する--with-db4オプションを追加することです。
はい、または#3550で提案されているBDB_CFLAGS / BDB_LIBS
これは、次の手順で修正できます。
cd ~/db-4.8.30.NC/build_unix
make
sudo make install
/ usr / localにBerkeleyDB.4.8フォルダーがあることを確認しますls /usr/local
次に、シンボリックリンクを作成します。
ln -s /usr/local/BerkeleyDB.4.8 /usr/include/db4.8
そして、次のことを行います。
ln -s /usr/local/db4.8/include/* /usr/include
ln -s /usr/local/db4.8/lib/* /usr/lib
シンボリックリンクと次のようなものの利点
echo "/usr/local/lib" > /etc/ld.so.conf.d/db-4.8.30.conf
ldconfig
または、共有ライブラリではなく静的ライブラリを構築するので、システムの検索パスにライブラリをインストールする必要はまったくありません。
[centos 6.5、現在のビットコインバージョン]ビットコインを正常にコンパイルしたようですが、実行しようとすると、次のようになります。
./bitcoind: error while loading shared libraries: libdb_cxx-4.8.so: cannot open shared object file: No such file or directory
ここの指示に従って、4.8ソースをダウンロードしてコンパイルしましたが、/ usr / localに生成されるBerkeleyDB.4.8フォルダーを取得できないようです。
ただし、libdb_cxx-4.8.soはdb-4.8.30.NC / build_unix /.libsにあります。
この.soファイルを正しい場所にコピーまたは参照するだけで、問題は解決するはずですか?
'locate libdb_cxx'を使用すると、/ usr / lib64に 'libdb_cxx.so'と 'libdb_cxx-4.7.so'のエントリが取得されますが、それだけです。
bitcoin / src / m4 / bitcoin_find_bdb48.m4、 line:7をポイントする必要があります
'bdbdirlist = / root / berkeley-db / db-4.8.30.NC / build_unix / .libs'? (上記のdb-4.8.30.NC/build_unix/build/includeディレクトリは私には存在しません)。
libdb_cxx-4.8.so do / usr / lib64をコピーしても、問題は解決しないようです。
ご理解のほどよろしくお願い申し上げます。 私はまだここに含まれる抽象化のいくつかの層に慣れています。 前もって感謝します。 ここに完全な投稿: https :
dlio、「db-4.8.30.NC/build_unix/」から「makeinstall」を実行しようとしましたか? 私が正しく覚えていれば、多くのファイルを適切な場所に配置する必要があります。
クイック返信coincapsigをありがとう。
私は上記のようにアレキサンダーの方法に従ってこれを試しました:
`1。 BerkeleyDb4.8のソースをダウンロードする
ただし、 locate libdb_cxx
実行すると、ibdb_cxx.soとlibdb_cxx-4.7.soのみが/ usr / lib64 /にあると表示されます。
私はあなたの苦痛を感じます、私はこのビルドでまったく同じ問題を抱えています:
Linuxバージョン2.6.32-431.11.2.el6.x86_64([email protected])(gccバージョン4.4.7 20120313(Red Hat 4.4.7-4)(GCC))#1 SMP Tue 2014年3月25日19:59:55UTC
./configureが失敗する前の最後の2行からの出力は次のとおりです。
Berkeley DB C ++ヘッダーをチェックしています...いいえ
構成:エラー:libdb_cxxヘッダーがありません
アレックスが上で言ったように私もやったが、それは私にとってもうまくいかなかった。
libcxxを最初から構築している場合は、ここで更新された手順に従ってみてください。
https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md#berkeley -db
これにより、グローバルにインストールする必要がなくなります。
@akstunt .. 発生しました。
checking for Berkeley DB C++ headers... no
configure: error: libdb_cxx headers missing
これが私がそれを修正した方法です:
sudo apt-get install libdb4.8++-dev
次に、 ./configure
もう一度実行します。
これとまったく同じ問題が続いています。 2016年2月のDebian7.9。
これで問題は解決しました。
apt-get install libdb ++-dev
結果として生じる新しいエラーは次のとおりです。
configure:エラー:ポータブルウォレットに必要な4.8以外のBerkeley DBが見つかりました(--with-incompatible-bdbは無視します)
許可されたコンパイルを構成するために上記の提案を追加しましたが、この警告が表示されました:
configure:警告:4.8以外のBerkeleyDBが見つかりました。 このビルドで開かれたウォレットは持ち運びできません!
@MichaelBrenden私のubuntuは同じ問題を抱えており、
./configure--with-incompatible-bdbは問題を解決します。
ref:http ://brianchan.us/home/2013/11/26/installing-bitcoin-in-ubuntu/
Fedora 24(およびおそらく他のredhatのような)
でそれを解決しました
dnf install libdb4-cxx-devel
頭痛がして、この問題を解決していません
@chenluyong何を試し、結果はどうでしたか?
@ronaldpetty問題は解決したようですが、記録していません
libdb-develをインストールします
Ubuntu 16.04で、これが私がそれを解決した方法です。
sudo add-apt-repository ppa:bitcoin / bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8 ++-dev
centos 7.4でlibdb、libdb-devel、libdb-cxx、libdb-cxx-develをインストールしましたが、バージョンが高すぎます。 そこで、 https://www.rpmfind.netで下位バージョンを検索しました
rpmを使用してインストール
rpm -ivh libdb4-4.8.30-13.el7.x86_64.rpm
rpm -ivh libdb4-devel-4.8.30-13.el7.x86_64.rpm
rpm -ivh libdb4-cxx-4.8.30-13.el7.x86_64.rpm
rpm -ivh libdb4-cxx-devel-4.8.30-13.el7.x86_64.rpm
その後、 ./configure
が渡されました。
@yuexiahandao
あなたの提案はme.thxを助けました。
これが私の環境です:
[root<strong i="8">@localhost</strong> bitcoin]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root<strong i="9">@localhost</strong> bitcoin]# uname -rm
3.10.0-327.el7.x86_64 x86_64
[root<strong i="10">@localhost</strong> bitcoin]#
ここに問題があります:
[root<strong i="14">@localhost</strong> bitcoin]# ./configure
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
...
...
checking for MSG_NOSIGNAL... yes
checking for Berkeley DB C++ headers... no
configure: error: libdb_cxx headers missing
[root<strong i="15">@localhost</strong> bitcoin]#
最後に、解決策は次のとおりです。
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-4.8.30-13.el7.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-devel-4.8.30-13.el7.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-cxx-4.8.30-13.el7.x86_64.rpm
wget http://dl.fedoraproject.org/pub/epel/7/x86_64/Packages/l/libdb4-cxx-devel-4.8.30-13.el7.x86_64.rpm
そして
rpm -ivh libdb4-4.8.30-13.el7.x86_64.rpm
rpm -ivh libdb4-devel-4.8.30-13.el7.x86_64.rpm
rpm -ivh libdb4-cxx-4.8.30-13.el7.x86_64.rpm
rpm -ivh libdb4-cxx-devel-4.8.30-13.el7.x86_64.rpm
build-linuxファイルに記載されているように、特定のberkleydbをインストールする必要があり
sudo add-apt-repository ppa:bitcoin / bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8 ++-dev
それは誰かを助けるかもしれません:
エラーconfigureで問題が発生しました:エラー:libdb_cxxヘッダーがありません
私の問題はステップに関連していた
sudo update-alternatives --config x86_64-w64-mingw32-g ++#デフォルトのmingw32 g ++コンパイラオプションをposixに設定します。
最初のインストール時に、手順と同じようにすべてを実行しましたが、何らかの理由で、適切なmingw(posix)を選択するために数値を入力する選択肢がありませんでした。 見なかったのかもしれません。 このコメントを見たことがあります。「#デフォルトのmingw32 g ++コンパイラオプションをposixに設定してください。」 しかし、それがこのコマンドである可能性があると考えた場合、必要なすべてが実行されます。
しかし、2回目のクリーンインストール中に、私はより注意を払い、posixで適切なものを選択してから、make HOST = x86_64-w64-mingw32でステム処理するのにはるかに時間がかかり、すべてが正常になり、このエラーは発生しませんでした。
これは、WSL ubuntu16を使用した公式インストールビルドウィンドウに関するものです。
apt install libdb ++-devをインストールしてみてください。 それはubuntu16.04で私のために働きます。
このコードは私のためにそれを修正します:
wget http://download.oracle.com/berkeley-db/db-4.8.30.zip
unzip db-4.8.30.zip
cd db-4.8.30
cd build_unix/
../dist/configure --prefix=/usr/local --enable-cxx
make
make install
(ソースhttps://cryptoandcoffee.com/mining-gems/install-berkeley-4-8-db-libs-on-ubuntu-16-04/)
./bitcoindを実行しようとすると、次のエラーメッセージがスローされます: ./bitcoind: error while loading shared libraries: libdb_cxx-4.8.so: cannot open shared object file: No such file or directory
。
しかし、私はこの問題を簡単な方法で修正しました。
libdb_cxx-4.8.soが/usr/local/lib/
と/usr/local/lib64/
存在することを確認するだけで済み(誰かが/usr/local/src/db-xx/build_unix/.lib/
も確認する必要があると言われました)、libdb_cxx-4.8が見つかりませんでした.soはlib64にあるので、 sudo ln -sf /usr/local/BerkeleyDB.4.8/lib/libdb_cxx-4.8.so /usr/lib64/libdb_cxx-4.8.so
、動作します!!!!
お役に立てば幸いです。
最も参考になるコメント
sudo apt-get install libdb ++-devは私の問題を解決します。