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)

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 ++.

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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.