При сборке bitcoind на LinuxCoin (на основе Debian) я получаю эту ошибку
"headers.h:36:20: фатальная ошибка: db_cxx.h: нет такого файла или каталога"
следуя инструкциям на странице https://github.com/bitcoin/bitcoin/blob/master/doc/build-unix.txt .
Я считаю, что ошибка вызвана тем, что пакет «libdb4.8++-dev» не существует для дистрибутива, так как при попытке «apt-get install» я получаю:
Пакет libdb4.8++-dev недоступен, но на него ссылается другой пакет. Это может означать, что пакет отсутствует, устарел или доступен только из другого источника.
E: Пакет «libdb4.8++-dev» не имеет кандидата на установку.
ПРИМЕЧАНИЕ. libdb4.8-dev и все остальные зависимости уже установлены.
Вероятно, это глупая ошибка с моей стороны, но любая помощь приветствуется! Спасибо.
Вам нужно добавить -I <directory>
в конец CXX=g++
строки в Makefile
. Каталог должен быть тот, который содержит db_cxx.h
файл из вашей установки BerkeleyDB. Итак, измените:
CXX=g++
к
CXX=g++ -I /usr/local/BerkeleyDB.5.1
Вам может понадобиться /include
или что-то подобное в конце этого. Это зависит именно от того, в каком каталоге находится db_cxx.h
файл.
Я сделал следующую команду в Ubuntu, и она сработала.
sudo apt-get install libdb++-dev
Я думаю, вы можете установить пакет libdb4.8++-dev, если добавите стабильный репозиторий Debian в свой sources.list.
Я сделал это на своей системе (debian sid), и теперь я могу приступить к установке. Однако я еще не тестировал полную компиляцию bitcoind.
он хорошо компилируется с более поздними версиями, но будьте осторожны и не перепутайте db*-dev и db*++-dev. Здесь вы должны установить версию "++"
Попробуй это:
sudo apt-get установить libdb5.3++-dev
Последний стабильный пакет, я использовал его в новом патче Bitcoin-Qt 8.3 от GIT, и он безупречно скомпилировался для любых файлов, которые были включены в него.
Примечание:
Если вы используете gcc/g++ версии 4.8 и искали libdb4.8++-dev, есть причина, по которой вы не смогли найти кандидата на установку.
Не путайте пакет libdb5.3++-dev с версией компилятора и компоновщика gcc/g++, они не являются частью gcc/g++, а являются дополнительной библиотекой разработки независимо от того, какую версию компилятора вы используете. использовать.
Если вы собираете под homebrew на MacOS, установите необходимые заголовочные файлы через
brew install berkeley-db
Дэвид Шварц
db_cxx.h
файл где-нибудь? Вы можете проверить сlocate
.Шон Чепмен
Дэвид Шварц
Шон Чепмен
Шон Чепмен
Ричард Грин