Không thể định vị BerkeleyDB


9

Tôi đang cố gắng cài đặt một công cụ khai thác bitcoin-repote-rpc từ [http://www.mediafire.com/file/ve608cl5mk1ka3l/bitcoin-remote-rpc-20110227-src.zip]trên máy tính xách tay của tôi chạy trên định lượng Ubuntu. Tôi cần sử dụng CMake để xây dựng dự án. Tôi đã gặp một vài lỗi và tôi đã cố gắng giải quyết chúng bằng cách cài đặt các phụ thuộc. Bây giờ, bit cuối cùng mà tôi không thể giải quyết là thông báo lỗi này

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

Tôi muốn biết làm thế nào để giải quyết vấn đề này. Cảm ơn bạn trước.

Khi tôi chạy

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

Tôi nhận được các gói sau đã được cài đặt

 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

Và đây là phần từ CMakelists.txt dường như đang tạo ra lỗi

# 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)

Vui lòng thêm thông tin về vấn đề của bạn. Câu hỏi thiếu liên kết đến mã nguồn của công cụ khai thác bitcoin và bạn cũng nên đăng nhật ký xây dựng đầy đủ để phân tích. Nếu câu trả lời của tôi dưới đây không giúp được gì cho bạn, tôi sẽ cần thông tin đó để cập nhật câu trả lời của mình.
oerdnj

thêm thông tin đã được thêm vào.
Nadeem Muhammad

Bạn không nhận được các gói cài đặt với sudo apt-cache search libdb, nhưng các gói có sẵn. Vui lòng nhận danh sách các gói đã cài đặt vớidpkg -l 'libdb*' | grep '^ii'
oerdnj

Tôi rất mới với linux và tôi cần học từ đầu :) Tôi đã chạy lệnh và đã chỉnh sửa câu hỏi của mình để thêm kết quả. Vui lòng xem lại. Cảm ơn bạn đã hỗ trợ của bạn
Nadeem Muhammad

Câu trả lời:


12

Có thể có hai lý do:

  1. (Đơn giản) Bạn đã cài đặt libdb-devlibdb ++ - dev chưa?
  2. Nếu câu trả lời cho câu hỏi đầu tiên là có, thì lý do thông thường cho việc không xây dựng được là sự hỗ trợ không tồn tại cho phiên bản mới hơn của Berkeley DB. Bạn sẽ cần chỉnh sửa CMakeLists.txt và đọc nó để chấp nhận libdb-5.1.so hoặc libdb ++ - 5.1.so trong trường hợp C ++.

Berkeley DB đã được giải quyết bằng cách cài đặt libdb-dev và libdb ++ - dev theo khuyến nghị. Tuy nhiên, bây giờ tôi đang bị mắc kẹt với một lỗi khác. 'KHÔNG thể tìm thấy CURL' Vui lòng tư vấn cho tôi bước tiếp theo.
Nadeem Muhammad

Cài đặt các thư viện dev CURL, không nhớ tên, nhưng nếu bạn làm thế apt-cache search libcurl dev, nó sẽ hiển thị cho bạn tên gói yêu cầu.
oerdnj

Cảm ơn bạn đã giúp đỡ loại. Tôi đã có thể trải qua tất cả các lỗi biên dịch này và tập tin cuối cùng đã được xây dựng. Vì vậy, vấn đề ban đầu đã được giải quyết. Tuy nhiên, tệp ứng dụng không mở và khi tôi nhấp đúp chuột vào nó. Tôi nhận được thông báo này: 'Không có ứng dụng nào được cài đặt cho các tệp thi hành. Bạn có muốn tìm kiếm một ứng dụng để mở tập tin này không? '
Nadeem Muhammad

Tôi xin lỗi, nhưng tôi không có ý tưởng. Hãy thử chạy nó từ thiết bị đầu cuối bằng cách thực hiện <path_to_the_application>/<application_name>(không biết tên của ứng dụng) hoặc bằng cách thực hiện cd <path_to_application>; ./<application_name>.
oerdnj
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.