Nie można znaleźć BerkeleyDB

9

Próbuję zainstalować górnika bitcoin-repote-rpc z [http://www.mediafire.com/file/ve608cl5mk1ka3l/bitcoin-remote-rpc-20110227-src.zip]mojego laptopa na systemie Ubuntu Quantal. Potrzebuję użyć CMake do zbudowania projektu. Napotkałem kilka błędów i udało mi się je rozwiązać, instalując zależności. Ostatnim bitem, którego nie jestem w stanie rozwiązać, jest ten komunikat o błędzie

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

Chciałbym wiedzieć, jak rozwiązać ten problem. Z góry dziękuję.

Kiedy biegnę

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

Otrzymuję już zainstalowane następujące pakiety

 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

I to jest część z CMakelists.txt, która wydaje się powodować błąd

# 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)
Nadeem Muhammad
źródło
Dodaj więcej informacji o swoim problemie. W pytaniu brakuje linku do kodów źródłowych wydobywacza bitcoinów i powinieneś również opublikować pełny dziennik kompilacji do analizy. Jeśli moja odpowiedź poniżej nie pomoże, będę potrzebować tych informacji, aby zaktualizować moją odpowiedź.
oerdnj
dodano więcej informacji.
Nadeem Muhammad,
Nie dostajesz zainstalowanych pakietów sudo apt-cache search libdb, ale dostępne pakiety. Proszę pobrać listę zainstalowanych pakietów zdpkg -l 'libdb*' | grep '^ii'
oerdnj
Jestem bardzo nowy w Linuksie i muszę uczyć się od podstaw :) Uruchomiłem polecenie i edytowałem moje pytanie, aby dodać wyniki. Zapoznaj się. Dziękujemy za miłe wsparcie
Nadeem Muhammad,

Odpowiedzi:

12

Mogą być dwa powody:

  1. (Prosty) Czy masz zainstalowane libdb-dev i libdb ++ - dev ?
  2. Jeśli odpowiedź na pierwsze pytanie brzmi „tak”, to typowym powodem niepowodzenia kompilacji jest brak wsparcia dla nowszej wersji Berkeley DB. Musisz zmodyfikować plik CMakeLists.txt i zmienić go, aby zaakceptować libdb-5.1.so lub libdb ++ - 5.1.so w przypadku C ++.
oerdnj
źródło
Berkeley DB został rozwiązany przez zainstalowanie libdb-dev i libdb ++ - dev zgodnie z zaleceniami. Jednak utknąłem teraz z innym błędem. „Nie można znaleźć CURL”. Proszę doradzić mi następny krok.
Nadeem Muhammad,
Zainstaluj biblioteki programistów CURL, nie zapamiętaj nazwy, ale jeśli to zrobisz apt-cache search libcurl dev, wyświetli się wymagana nazwa pakietu.
oerdnj
Dziękuję za miłą pomoc. Udało mi się przejść przez wszystkie błędy kompilacji i plik został w końcu zbudowany. Oryginalny problem został rozwiązany. Jednak plik aplikacji nie otwiera się i po dwukrotnym kliknięciu na niego. Dostaję komunikat: „Nie ma zainstalowanej aplikacji dla plików wykonywalnych. Czy chcesz wyszukać aplikację, aby otworzyć ten plik?
Nadeem Muhammad,
Przepraszam, ale nie mam pojęcia. Spróbuj uruchomić go z terminala, wykonując <path_to_the_application>/<application_name>(nie znam nazwy aplikacji) lub wykonując cd <path_to_application>; ./<application_name>.
oerdnj