ไม่สามารถหา 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

ข้อมูลเพิ่มเติมได้รับการเพิ่ม
Nadeem Muhammad

คุณไม่ได้รับแพ็คเกจที่ติดตั้งsudo apt-cache search libdbแต่มีแพ็คเกจที่พร้อมใช้งาน โปรดรับแพ็คเกจที่ติดตั้งรายการด้วยdpkg -l 'libdb*' | grep '^ii'
oerdnj

ฉันยังใหม่กับ linux และฉันต้องเรียนรู้ตั้งแต่เริ่มต้น :) ฉันรันคำสั่งและแก้ไขคำถามของฉันเพื่อเพิ่มผลลัพธ์ กรุณาตรวจสอบ ขอบคุณสำหรับการสนับสนุนที่ดี
Nadeem Muhammad

คำตอบ:


12

อาจมีเหตุผลสองประการ:

  1. (ง่าย) คุณติดตั้งlibdb-devและlibdb ++ - devหรือไม่
  2. หากคำตอบสำหรับคำถามแรกคือใช่แล้วเหตุผลทั่วไปที่ทำให้การบิลด์ล้มเหลวคือการสนับสนุนที่ไม่มีอยู่จริงสำหรับ Berkeley DB เวอร์ชันใหม่ คุณจะต้องแก้ไข CMakeLists.txt และคล้อยตามเพื่อยอมรับ libdb-5.1.so หรือ libdb ++ - 5.1.so ในกรณีของ C ++

Berkeley DB ได้รับการแก้ไขโดยการติดตั้ง libdb-dev และ libdb ++ - dev ตามที่แนะนำ อย่างไรก็ตามฉันติดอยู่กับข้อผิดพลาดอื่นในขณะนี้ 'หา CURL ไม่พบ' โปรดแนะนำฉันในขั้นตอนต่อไป
Nadeem Muhammad

ติดตั้งไลบรารี CURL dev จำชื่อไม่ได้ แต่ถ้าคุณทำapt-cache search libcurl devมันจะแสดงชื่อแพ็คเกจที่ต้องการ
oerdnj

ขอบคุณสำหรับความช่วยเหลือ ฉันสามารถผ่านข้อผิดพลาดในการคอมไพล์เหล่านี้และในที่สุดไฟล์ก็ถูกสร้างขึ้น ดังนั้นปัญหาเดิมจึงได้รับการแก้ไข อย่างไรก็ตามไฟล์แอพพลิเคชั่นไม่ได้เปิดและเมื่อฉันดับเบิลคลิกที่มัน ฉันได้รับข้อความนี้: 'ไม่มีแอปพลิเคชันติดตั้งสำหรับไฟล์ที่ปฏิบัติการได้ คุณต้องการค้นหาแอปพลิเคชันเพื่อเปิดไฟล์นี้หรือไม่? '
Nadeem Muhammad

ฉันขอโทษ แต่ฉันไม่มีความคิด ลองใช้มันจากท่าเรือโดยการทำ<path_to_the_application>/<application_name>(ไม่ทราบชื่อของโปรแกรม) cd <path_to_application>; ./<application_name>หรือโดยการทำ
oerdnj
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.