Не удалось найти BerkeleyDB

9

Я пытаюсь установить майнер bitcoin-repote-rpc с [http://www.mediafire.com/file/ve608cl5mk1ka3l/bitcoin-remote-rpc-20110227-src.zip]моего ноутбука на Ubuntu Quantal. Мне нужно использовать CMake для сборки проекта. Я столкнулся с несколькими ошибками, и мне удалось решить их, установив зависимости. Теперь последний бит, который я не могу решить, это сообщение об ошибке

CMake Error at CMakeLists.txt:112 (MESSAGE):
  Could not locate BerkeleyDB

Я хотел бы знать, как решить эту проблему. Заранее спасибо.

Когда я бегу

  dpkg -l 'libdb*' | grep '^ii'

У меня уже установлены следующие пакеты

 ii  libdb5.1:i386                             5.1.29-5ubuntu2                            i386         Berkeley v5.1 Database Libraries [runtime]
ii  libdbus-1-3:i386                          1.6.4-1ubuntu4                             i386         simple interprocess messaging system (library)
ii  libdbus-glib-1-2:i386                     0.100-1ubuntu0.1                           i386         simple interprocess messaging system (GLib-based shared library)
ii  libdbusmenu-glib4:i386                    12.10.2-0ubuntu1                           i386         library for passing menus over DBus
ii  libdbusmenu-gtk3-4:i386                   12.10.2-0ubuntu1                           i386         library for passing menus over DBus - GTK+ version
ii  libdbusmenu-gtk4:i386                     12.10.2-0ubuntu1                           i386         library for passing menus over DBus - GTK+ version
ii  libdbusmenu-qt2:i386                      0.9.2-0ubuntu3                             i386         Qt implementation of the DBusMenu protocol

И это часть из CMakelists.txt, которая, кажется, выдает ошибку

# Use BDB local module
FIND_PACKAGE(BerkeleyDB)

IF(DB_INCLUDE_DIR)
    INCLUDE_DIRECTORIES(${DB_INCLUDE_DIR})
ELSE(DB_INCLUDE_DIR)
    MESSAGE(FATAL_ERROR "Could not locate BerkeleyDB")
ENDIF(DB_INCLUDE_DIR)
Надим Мухаммед
источник
Пожалуйста, добавьте больше информации о вашей проблеме. В вопросе отсутствует ссылка на исходные коды Bitcoin-майнера, и вы также должны опубликовать полный журнал сборки для анализа. Если мой ответ ниже не поможет вам, мне понадобится эта информация, чтобы обновить мой ответ.
oerdnj
больше информации было добавлено.
Надим Мухаммед
Вы получаете не установленные пакеты sudo apt-cache search libdb, а доступные пакеты. Пожалуйста, получите список установленных пакетов сdpkg -l 'libdb*' | grep '^ii'
oerdnj
Я очень плохо знаком с Linux, и мне нужно учиться с нуля :) Я запустил команду и отредактировал свой вопрос, чтобы добавить результаты. Пожалуйста, просмотрите. Спасибо за вашу поддержку
Надим Мухаммед

Ответы:

12

Там может быть две причины:

  1. (Просто) У вас установлены libdb-dev и libdb ++ - dev ?
  2. Если ответ на первый вопрос положительный, то обычной причиной сбоя сборок является отсутствие поддержки более новой версии Berkeley DB. Вам нужно будет отредактировать CMakeLists.txt и изменить его так, чтобы он принимал libdb-5.1.so или libdb ++ - 5.1.so в случае C ++.
oerdnj
источник
БД Berkeley была решена путем установки libdb-dev и libdb ++ - dev в соответствии с рекомендациями. Тем не менее, я застрял с другой ошибкой сейчас. «Не могу найти CURL» Пожалуйста, сообщите мне следующий шаг.
Надим Мухаммед
Установите библиотеки разработчиков CURL, не помните имя, но если вы это сделаете apt-cache search libcurl dev, он покажет вам требуемое имя пакета.
oerdnj
Спасибо за вашу помощь. Мне удалось пройти через все эти ошибки компиляции, и файл, наконец, был собран. Таким образом, первоначальная проблема была решена. Тем не менее, файл приложения не открывается, и когда я дважды щелкаю по нему. Я получаю это сообщение: «Для исполняемых файлов не установлено приложение. Хотите найти приложение, чтобы открыть этот файл?
Надим Мухаммед
Извините, но я понятия не имею. Попробуйте запустить его из терминала, выполнив <path_to_the_application>/<application_name>(не знаю название приложения) или выполнив cd <path_to_application>; ./<application_name>.
13