esses arquivos estão localizados em / usr / pkg / include / db4
samsa% ls / usr / pkg / include / db4
db.h db_185.h db_cxx.h
Este caminho já deve ser pesquisado se / usr / pkg / include estiver em seu caminho de inclusão ... Você pode postar um config.log?
O mesmo problema aqui:
CentOS rodando em uma máquina virtual.
localize 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
_
Conteúdo do config.log: http://pastebin.com/N1jW9GuF
Ainda é um problema com o último mestre? AFAIK houve mudanças com o novo sistema autotools, então talvez você possa tentar novamente.
O mesmo problema no Ubuntu 13.04.
sudo apt-get install libdb ++ - dev resolve meu problema.
Obviamente você obterá esse erro se o libdb não estiver instalado ... se você ler com atenção, o autor do pôster original tem a biblioteca instalada, mas não é detectada, então não é o mesmo problema.
Como não há libdb ++ no repositório CentOs oficial, fiz o seguinte para corrigir esse problema
Alex, obrigada!
Tenho o mesmo problema: compilei o BDB da fonte, mas não quero instalá-lo. Posso apontar o script de configuração para meu db_cxx.h de alguma forma?
Editar: Eu adicionei a ./src/m4/bitcoin_find_bdb48.m4
:
bdbdirlist=/path/to/compiled/db-4.8.30.NC/build_unix/build/include
Trabalho.
uma opção melhor seria adicionar uma opção --with-db4 para configurar
Sim, ou BDB_CFLAGS / BDB_LIBS conforme proposto em # 3550
Isso pode ser corrigido fazendo o seguinte:
cd ~/db-4.8.30.NC/build_unix
make
sudo make install
Verifique se existe uma pasta BerkeleyDB.4.8 em / usr / local
ls /usr/local
em seguida, crie um link simbólico:
ln -s /usr/local/BerkeleyDB.4.8 /usr/include/db4.8
e então faça:
ln -s /usr/local/db4.8/include/* /usr/include
ln -s /usr/local/db4.8/lib/* /usr/lib
Qualquer benefício para o link simbólico vs algo como:
echo "/usr/local/lib" > /etc/ld.so.conf.d/db-4.8.30.conf
ldconfig
Ou construa uma biblioteca estática e não compartilhada, para que você não precise instalar a biblioteca no caminho de pesquisa do sistema.
[centos 6.5, versão atual do bitcoin] Parece que compilei o bitcoind com sucesso, porém, quando tento executá-lo, obtenho o seguinte:
./bitcoind: error while loading shared libraries: libdb_cxx-4.8.so: cannot open shared object file: No such file or directory
Tendo seguido as instruções aqui, baixei e compilei o código-fonte 4.8, mas não consigo fazer com que nenhuma pasta BerkeleyDB.4.8 seja gerada em / usr / local.
No entanto, localizei libdb_cxx-4.8.so em db-4.8.30.NC/build_unix/.libs
Se eu simplesmente copiar ou fazer referência a esse arquivo .so nos locais corretos, isso deve resolver o problema?
Usando 'locate libdb_cxx' eu obtenho entradas para 'libdb_cxx.so' e 'libdb_cxx-4.7.so' em / usr / lib64, mas isso é tudo.
Devo apontar bitcoin / src / m4 / bitcoin_find_bdb48.m4, linha: 7 , para
'bdbdirlist = / root / berkeley-db / db-4.8.30.NC / build_unix / .libs'? (o diretório db-4.8.30.NC/build_unix/build/include mencionado acima não existe para mim).
Copiar libdb_cxx-4.8.so do / usr / lib64 não parece resolver o problema.
Minhas desculpas antecipadamente por minha compreensão limitada. Ainda estou me familiarizando com várias camadas de abstração envolvidas aqui. Desde já, obrigado. Postagem completa aqui: https://bitcointalk.org/index.php?topic=588032
dlio, você tentou 'make install' de 'db-4.8.30.NC/build_unix/'? Deve colocar muitos dos arquivos em seus devidos lugares, se bem me lembro.
Obrigado pela resposta rápida coincapsig.
Eu tentei o seguinte método de Alexander conforme o acima:
`1. Baixe fontes do BerkeleyDb 4.8
mas fazer um locate libdb_cxx
ainda mostra apenas ibdb_cxx.so e libdb_cxx-4.7.so como estando em / usr / lib64 /
Eu sinto sua dor dilo, eu tenho exatamente o mesmo problema nesta compilação:
Linux versão 2.6.32-431.11.2.el6.x86_64 ([email protected]) (gcc versão 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)) # 1 SMP Ter 25 de março 19:59:55 UTC de 2014
Aqui está a saída das últimas 2 linhas antes da falha de ./configure.
verificando cabeçalhos Berkeley DB C ++ ... não
configurar: erro: cabeçalhos libdb_cxx ausentes
Eu também fiz como Alex disse acima e não funcionou para mim também.
Para aqueles que estão criando libcxx do zero, você pode tentar seguir as etapas atualizadas aqui?
https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md#berkeley -db
Isso evita a necessidade de instalação global.
@akstunt .. Eu tive o mesmo problema no Ubuntu 12.04:
checking for Berkeley DB C++ headers... no
configure: error: libdb_cxx headers missing
Veja como eu consertei:
sudo apt-get install libdb4.8++-dev
Em seguida, basta executar ./configure
novamente.
Este mesmo problema persiste. Debian 7.9 em fevereiro de 2016.
Isso resolveu o problema, mais ou menos:
apt-get install libdb ++ - dev
O novo erro consequente foi este:
configure: erro: Berkeley DB encontrado diferente de 4.8, necessário para carteiras portáteis (--with-incompatible-bdb para ignorar)
Adicionando a sugestão acima para configurar a compilação permitida, mas este aviso apareceu:
configure: AVISO: Berkeley DB encontrado diferente de 4.8; carteiras abertas por esta compilação não serão portáteis!
@MichaelBrenden meu ubuntu wily tem os mesmos problemas e uso
./configure --with-incompatible-bdb resolve os problemas.
ref: http : //brianchan.us/home/2013/11/26/installing-bitcoin-in-ubuntu/
no Fedora 24 (e provavelmente em outro redhat como)
resolveu com
dnf install libdb4-cxx-devel
Estou com dor de cabeça e não resolvi esse problema
@chenluyong o que você tentou e qual foi o resultado?
@ronaldpetty O problema parece ter sido resolvido, mas não gravei
instalar libdb-devel
No Ubuntu 16.04, aqui está como resolvi isso.
sudo add-apt-repository ppa: bitcoin / bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8 ++ - dev
No centos 7.4 e libdb instalado 、 libdb-devel 、 libdb-cxx 、 libdb-cxx-devel, mas a versão é muito alta. Então, procurei uma versão anterior em https://www.rpmfind.net.
Use rpm para instalar
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
Então ./configure
passou.
@yuexiahandao
sua sugestão me ajudou.thx.
aqui está meu env:
[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]#
aqui está o problema:
[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]#
por último, a resolução é:
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
e
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
como mencionado no arquivo build-linux, você precisa instalar berkleydb específico
sudo add-apt-repository ppa: bitcoin / bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8 ++ - dev
Pode ser que ajude alguém:
Tive o problema de configurar o erro: erro: cabeçalhos libdb_cxx ausentes
Meu problema estava relacionado ao passo
sudo update-transactions --config x86_64-w64-mingw32-g ++ # Defina a opção do compilador mingw32 g ++ padrão para posix.
Durante a primeira instalação, fiz tudo como nas instruções, mas por algum motivo não tive a opção de inserir um número para selecionar o mingw (posix) apropriado. Talvez eu simplesmente não tenha visto. Eu vi este comentário "# Defina a opção do compilador mingw32 g ++ padrão para posix." mas pensei que pode ser este comando fará tudo o que for necessário.
Mas durante a segunda instalação limpa eu prestei mais atenção e selecionei um apropriado com posix e depois com make HOST = x86_64-w64-mingw32 demorou muito mais tempo e tudo ficou ok e eu não tive esse erro.
Trata-se de janelas de compilação de instalação oficial com WSL ubuntu 16
Tente instalar o apt install libdb ++ - dev. Funciona para mim no Ubuntu 16.04.
este código corrige para mim:
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
(fonte https://cryptoandcoffee.com/mining-gems/install-berkeley-4-8-db-libs-on-ubuntu-16-04/)
Quando tento executar ./bitcoind, gere esta mensagem de erro: ./bitcoind: error while loading shared libraries: libdb_cxx-4.8.so: cannot open shared object file: No such file or directory
.
Mas resolvi esse problema de maneira fácil.
Você só precisa verificar se libdb_cxx-4.8.so existe em /usr/local/lib/
e /usr/local/lib64/
(alguém disse que é necessário verificar /usr/local/src/db-xx/build_unix/.lib/
também), então não encontrei libdb_cxx-4.8 .so na lib64, então eu faço sudo ln -sf /usr/local/BerkeleyDB.4.8/lib/libdb_cxx-4.8.so /usr/lib64/libdb_cxx-4.8.so
, funciona !!!!
Espero que possa ajudá-lo.
Comentários muito úteis
sudo apt-get install libdb ++ - dev resolve meu problema.