Tidak dapat menemukan BerkeleyDB

9

Saya mencoba untuk menginstal penambang bitcoin-repote-rpc [http://www.mediafire.com/file/ve608cl5mk1ka3l/bitcoin-remote-rpc-20110227-src.zip]di laptop saya yang berjalan di ubuntu quantal. Saya perlu menggunakan CMake untuk membangun proyek. Saya telah mengalami beberapa kesalahan dan saya telah berhasil menyelesaikannya dengan menginstal dependensi. Sekarang bagian terakhir yang tidak dapat saya pecahkan adalah pesan kesalahan ini

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

Saya ingin tahu bagaimana menyelesaikan masalah ini. Berterima kasih sebelumnya.

Ketika saya berlari

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

Saya mendapatkan paket-paket berikut sudah diinstal

 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

Dan ini adalah bagian dari CMakelists.txt yang tampaknya menghasilkan kesalahan

# 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
sumber
Silakan tambahkan informasi lebih lanjut tentang masalah Anda. Pertanyaannya adalah tautan yang hilang ke kode sumber penambang bitcoin dan Anda juga harus memposting log build lengkap untuk dianalisis. Jika jawaban saya di bawah ini tidak membantu Anda, saya akan memerlukan informasi itu untuk memperbarui jawaban saya.
oerdnj
info lebih lanjut telah ditambahkan.
Nadeem Muhammad
Anda tidak mendapatkan paket yang diinstal dengan sudo apt-cache search libdb, tetapi paket yang tersedia. Dapatkan daftar paket yang terinstal dengandpkg -l 'libdb*' | grep '^ii'
oerdnj
Saya sangat baru di linux dan saya harus belajar dari awal :) Saya telah menjalankan perintah dan telah mengedit pertanyaan saya untuk menambahkan hasilnya. Silakan tinjau. Terima kasih atas dukungan Anda yang baik
Nadeem Muhammad

Jawaban:

12

Mungkin ada dua alasan:

  1. (Sederhana) Apakah Anda sudah menginstal libdb-dev dan libdb ++ - dev ?
  2. Jika jawaban untuk pertanyaan pertama adalah ya, maka alasan umum kegagalan pembangunan adalah tidak adanya dukungan untuk versi Berkeley DB yang lebih baru. Anda perlu mengedit CMakeLists.txt dan memotongnya untuk menerima libdb-5.1.so atau libdb ++ - 5.1.so dalam kasus C ++.
oerdnj
sumber
Berkeley DB telah diselesaikan dengan menginstal libdb-dev dan libdb ++ - dev seperti yang disarankan. Namun, saya terjebak dengan kesalahan lain sekarang. 'TIDAK BISA menemukan CURL' Tolong beri tahu saya langkah selanjutnya.
Nadeem Muhammad
Instal perpustakaan dev CURL, tidak ingat namanya, tetapi jika Anda melakukannya apt-cache search libcurl dev, itu akan menunjukkan kepada Anda nama paket yang diperlukan.
oerdnj
Terima kasih atas bantuannya. Saya sudah bisa melalui semua kesalahan kompilasi ini dan file akhirnya dibangun. Jadi masalah aslinya telah dipecahkan. Namun, file aplikasi tidak terbuka dan ketika saya klik dua kali. Saya mendapatkan pesan ini: 'Tidak ada aplikasi yang diinstal untuk file yang dapat dieksekusi. Apakah Anda ingin mencari aplikasi untuk membuka file ini? '
Nadeem Muhammad
Maaf, tapi saya tidak tahu. Coba jalankan dari terminal dengan melakukan <path_to_the_application>/<application_name>(tidak tahu nama aplikasi) atau dengan melakukan cd <path_to_application>; ./<application_name>.
oerdnj