2017-06-07 24 views
9

Tệp thực thi sử dụng thư viện lmdb có định dạng Linux 64 bit.Làm thế nào để buộc 64-bit LMDB để tạo ra một cơ sở dữ liệu 32-bit?

Bởi vì thư viện phụ thuộc của tệp thực thi nằm trong 64 bit .Building executable & lmdb lib là giải pháp 32 bit không thể.

Có cách nào tôi có thể bắt buộc 64 bit lmdb lib để tạo cơ sở dữ liệu lmdb 32 bit hay không.

Tôi cần tệp cơ sở dữ liệu 32 bit này vì db được tạo sẽ được xuất sang thiết bị 32 bit.

Lưu ý: db được tạo trên máy 64bit sẽ không hoạt động trên máy 32 bit.

+0

Bạn có được phép biên dịch lại tệp thi hành không? – Jouster500

Trả lời

5

Tôi đoán, việc sử dụng cơ sở dữ liệu 64 bit trên 32 bit lmdb khó có thể thực hiện được do thực tế, lmdb dựa trên ánh xạ bộ nhớ.

Do đó, trình chuyển đổi sẽ là cần thiết đòi hỏi sự hiểu biết về định dạng dữ liệu cơ bản. Liên kết này The LMDB file format có vẻ là một khởi đầu tốt cho việc này.

Phương án thay thế rẻ có vẻ là đổ tệp trên nền tảng 64 bit (mdb_dump) và tải lại trên nền tảng 32 bit (mdb_load). Mặc dù, điều này gây ra những hạn chế như được chỉ ra trong trang người được liên kết:

Việc tạo và tải lại cơ sở dữ liệu sử dụng chức năng so sánh do người dùng xác định sẽ dẫn đến cơ sở dữ liệu mới sử dụng chức năng so sánh mặc định. Trong trường hợp này, rất có khả năng cơ sở dữ liệu được tải lại sẽ bị hỏng ngoài việc sửa chữa cho phép không lưu trữ và lưu trữ bản ghi.

Tuy nhiên, khi tìm kiếm trên internet, tôi ở đâu đó đọc rằng điều này có thể được sử dụng để chuyển 32 bit DB sang 64 bit. Tôi chỉ có thể nghi ngờ rằng nó sẽ làm việc theo cách ngược lại cũng (như tôi đã không bao giờ nhìn thấy định dạng). Vì bãi chứa là định dạng văn bản, nên có thể – có thể có bước xử lý văn bản trung gian.

Một giải pháp thay thế IMHO thay thế rẻ tiền khác là chạy 32 bit lmdb trên nền tảng 64 bit. Như tôi biết đó là phổ biến và bình thường trên Windows, tôi đã không (đầy đủ) chắc chắn cho Linux và tìm thấy điều này: SE: How to run 32-bit app in Ubuntu 64-bit?. Thật không may, người hỏi nói rằng nó không phải là một lựa chọn trong trường hợp cụ thể này.

Các vấn đề liên quan