Bitcoin: configure: error: faltan los encabezados libdb_cxx (netbsd)

Creado en 15 sept. 2013  ·  35Comentarios  ·  Fuente: bitcoin/bitcoin

estos archivos se encuentran en / usr / pkg / include / db4

samsa% ls / usr / pkg / include / db4
db.h db_185.h db_cxx.h

Bug Build system

Comentario más útil

sudo apt-get install libdb ++ - dev resuelve mi problema.

Todos 35 comentarios

Esta ruta ya debería ser buscada si / usr / pkg / include está en su ruta de inclusión ... ¿Puede publicar un config.log?

Mismo problema aquí:

CentOS ejecutándose en una máquina virtual.

localizar 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
_

Contenido de config.log: http://pastebin.com/N1jW9GuF

¿Sigue siendo un problema con el último maestro? AFAIK, hubo cambios con el nuevo sistema de autotools, así que quizás puedas intentarlo de nuevo.

Mismo problema en ubuntu 13.04.

sudo apt-get install libdb ++ - dev resuelve mi problema.

Obviamente obtienes ese error si libdb no está instalado ... si lees con atención, el póster original tiene instalada la biblioteca pero no se detecta, por lo que no es el mismo problema.

Como no hay libdb ++ en el repositorio oficial de CentOs, he hecho lo siguiente para solucionar este problema

  1. Fuentes de descarga de BerkeleyDb 4.8
  2. Ir/ build_unix /
  3. ../dist/configure --prefix = / usr / local --enable-cxx
  4. hacer
  5. (como root) hacer instalar

Alex, gracias!

Tengo el mismo problema: he compilado BDB desde la fuente pero no quiero instalarlo. ¿Puedo apuntar el script de configuración a mi db_cxx.h de alguna manera?

Editar: lo agregué a ./src/m4/bitcoin_find_bdb48.m4 :

  bdbdirlist=/path/to/compiled/db-4.8.30.NC/build_unix/build/include

Trabajos.

una mejor opción sería agregar una opción --with-db4 para configurar

Sí, o BDB_CFLAGS / BDB_LIBS como se propone en # 3550

Esto se puede solucionar haciendo lo siguiente:
cd ~/db-4.8.30.NC/build_unix make sudo make install
Compruebe que haya una carpeta BerkeleyDB.4.8 en / usr / local
ls /usr/local
luego crea un enlace simbólico:
ln -s /usr/local/BerkeleyDB.4.8 /usr/include/db4.8
y luego haz:
ln -s /usr/local/db4.8/include/* /usr/include ln -s /usr/local/db4.8/lib/* /usr/lib

Cualquier beneficio para el enlace simbólico frente a algo como:

echo "/usr/local/lib" > /etc/ld.so.conf.d/db-4.8.30.conf
ldconfig

O cree una biblioteca estática y no compartida, para que no tenga que instalar la biblioteca en la ruta de búsqueda del sistema.

[centos 6.5, versión actual de bitcoin] Parece que he compilado bitcoind con éxito, sin embargo, cuando intento ejecutarlo, obtengo lo siguiente:

./bitcoind: error while loading shared libraries: libdb_cxx-4.8.so: cannot open shared object file: No such file or directory

Habiendo seguido las instrucciones aquí, descargué y compilé la fuente 4.8, pero parece que no puedo generar ninguna carpeta BerkeleyDB.4.8 en / usr / local.
Sin embargo, he localizado libdb_cxx-4.8.so en db-4.8.30.NC/build_unix/.libs

Si simplemente copio o hago referencia a este archivo .so en los lugares correctos, ¿eso debería resolver el problema?
Usando 'localizar libdb_cxx' obtengo entradas para 'libdb_cxx.so' y 'libdb_cxx-4.7.so' en / usr / lib64, pero eso es todo.

¿Debo señalar bitcoin / src / m4 / bitcoin_find_bdb48.m4, línea: 7 , a
'bdbdirlist = / root / berkeley-db / db-4.8.30.NC / build_unix / .libs'? (el directorio db-4.8.30.NC/build_unix/build/include mencionado anteriormente no existe para mí).

Copiar libdb_cxx-4.8.so do / usr / lib64 no parece resolver el problema.

Mis disculpas de antemano por mi comprensión limitada. Todavía me estoy poniendo al día con varias capas de abstracción involucradas aquí. Gracias por adelantado. Publicación completa aquí: https://bitcointalk.org/index.php?topic=588032

dlio, ¿ha intentado 'hacer la instalación' desde 'db-4.8.30.NC/build_unix/'? Debería colocar muchos de los archivos en sus lugares adecuados si no recuerdo mal.

Gracias por la respuesta rápida coincapsig.

He intentado este siguiente método de Alexander según lo anterior:
«1. Fuentes de descarga de BerkeleyDb 4.8

  1. Vaya a / build_unix /
  2. ../dist/configure --prefix = / usr / local --enable-cxx
  3. hacer
  4. (como root) make install`

pero al hacer un locate libdb_cxx todavía solo muestra ibdb_cxx.so y libdb_cxx-4.7.so en / usr / lib64 /

Siento tu dolor dilo, tengo exactamente el mismo problema en esta compilación:
Linux versión 2.6.32-431.11.2.el6.x86_64 ([email protected]) (gcc versión 4.4.7 20120313 (Red Hat 4.4.7-4) (GCC)) # 1 SMP Martes 25 de marzo a las 19:59:55 UTC 2014

Aquí está el resultado de las últimas 2 líneas antes de que ./configure falle.

comprobación de encabezados Berkeley DB C ++ ... no
configure: error: faltan los encabezados libdb_cxx

También he hecho lo que Alex ha dicho anteriormente y tampoco me ha funcionado.

Para aquellos que construyen libcxx desde cero, ¿pueden intentar seguir los pasos actualizados aquí?

https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.md#berkeley -db

Esto evita tener que instalar globalmente.

@akstunt .. Tuve el mismo problema en Ubuntu 12.04:

checking for Berkeley DB C++ headers... no
configure: error: libdb_cxx headers missing

Así es como lo arreglé:

sudo apt-get install libdb4.8++-dev

Luego, simplemente ejecute ./configure nuevamente.

Este mismo problema sigue vivo. Debian 7.9 en febrero de 2016.

Esto resolvió el problema, algo así como:
apt-get install libdb ++ - dev

El consecuente nuevo error fue este:
configure: error: Se encontró Berkeley DB diferente a 4.8, requerido para billeteras portátiles (--with-incompatible-bdb para ignorar)

Añadiendo la sugerencia anterior para configurar la compilación permitida, pero apareció esta advertencia:
configure: ADVERTENCIA: Se encontró Berkeley DB diferente a 4.8; ¡las carteras abiertas por esta compilación no serán portátiles!

@MichaelBrenden my ubuntu
./configure --with-incompatible-bdb resuelve los problemas.
ref: http : //brianchan.us/home/2013/11/26/installing-bitcoin-in-ubuntu/

en Fedora 24 (y probablemente otros redhat como)
lo resolvió con
dnf instalar libdb4-cxx-devel

Tengo dolor de cabeza y no he resuelto este problema.

@chenluyong, ¿qué intentaste y cuál fue el resultado?

@ronaldpetty El problema parece estar resuelto, pero no lo he registrado

instalar libdb-devel

En Ubuntu 16.04, así es como lo resolví.

sudo add-apt-repository ppa: bitcoin / bitcoin
sudo apt-get update
sudo apt-get install libdb4.8-dev libdb4.8 ++ - dev

En centos 7.4 e instalé libdb 、 libdb-devel 、 libdb-cxx 、 libdb-cxx-devel, pero la versión es demasiado alta. Así que busqué una versión inferior en https://www.rpmfind.net.
Utilice 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

Luego pasó ./configure .

@yuexiahandao
tu sugerencia me ayudó.thx.

aquí está mi 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]# 

aquí está el 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, la resolución es:

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

y

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 se menciona en el archivo build-linux, debe 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

Puede que ayude a alguien:

Tuve el problema con la configuración de error: error: faltan los encabezados libdb_cxx

Mi problema estaba relacionado con el paso
sudo update-alternativas --config x86_64-w64-mingw32-g ++ # Establezca la opción predeterminada del compilador mingw32 g ++ en posix.

Durante la primera instalación, hice todo como en las instrucciones, pero por alguna razón no tuve la opción de ingresar un número para seleccionar el mingw (posix) apropiado. Puede ser que no lo vi. He visto este comentario "# Establecer la opción predeterminada del compilador mingw32 g ++ en posix". pero pensé que puede ser que este comando haga todo lo necesario.

Pero durante la segunda instalación limpia presté más atención y seleccioné uno apropiado con posix y luego con make HOST = x86_64-w64-mingw32 tomó mucho más tiempo y todo se puso bien y no tuve este error.

Se trata de la instalación oficial de ventanas de compilación con WSL ubuntu 16

Intente instalar apt install libdb ++ - dev. Me funciona en ubuntu 16.04.

este código me lo arregla:

    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

(fuente https://cryptoandcoffee.com/mining-gems/install-berkeley-4-8-db-libs-on-ubuntu-16-04/)

Cuando intento ejecutar ./bitcoind, arrojo este mensaje de error: ./bitcoind: error while loading shared libraries: libdb_cxx-4.8.so: cannot open shared object file: No such file or directory .
Pero solucioné este problema de manera fácil.
Solo necesita verificar que libdb_cxx-4.8.so exista en /usr/local/lib/ y /usr/local/lib64/ (alguien dijo que también debe verificar /usr/local/src/db-xx/build_unix/.lib/ ), entonces no encontré libdb_cxx-4.8 .so en lib64, entonces hago sudo ln -sf /usr/local/BerkeleyDB.4.8/lib/libdb_cxx-4.8.so /usr/lib64/libdb_cxx-4.8.so , ¡¡¡¡funciona !!!!
Espero que te pueda ayudar.

¿Fue útil esta página
0 / 5 - 0 calificaciones