estos archivos se encuentran en / usr / pkg / include / db4
samsa% ls / usr / pkg / include / db4
db.h db_185.h db_cxx.h
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
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
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.
Comentario más útil
sudo apt-get install libdb ++ - dev resuelve mi problema.