Tại sao LD tiếp tục xuất ra không có thông tin phiên bản nào


7

Trên mỗi lần tải lib, tôi gặp lỗi:

không có thông tin phiên bản

Lib này đã được biên dịch trên một PC khác (ubfox 10.04) so ​​với PC chạy nó (mandriva 2010.2).

$ ldd /usr/local/gnu-eabi-4.5.2/i686-pc-linux-gnu/arm-eabi/lib/libbfd-2.21.so
/usr/local/gnu-eabi-4.5.2/i686-pc-linux-gnu/arm-eabi/lib/libbfd-2.21.so: /lib/libz.so.1: no version information available (required by /usr/local/gnu-eabi-4.5.2/i686-pc-linux-gnu/arm-eabi/lib/libbfd-2.21.so)
 linux-gate.so.1 =>  (0xffffe000)
 libz.so.1 => /lib/libz.so.1 (0xb77a7000)
 libc.so.6 => /lib/i686/libc.so.6 (0xb7655000)
 /lib/ld-linux.so.2 (0xb787a000)

Chỉnh sửa: cách giải quyết không hoạt động.

Câu trả lời:


10

Không, nó không. Có vẻ như phiên bản libz mà bạn đã liên kết khi bạn biên dịch chương trình của bạn được xây dựng với các công cụ khác với phiên bản trên hệ thống madriva bạn đang sử dụng. Bản sao mandriva bị thiếu thông tin phiên bản biểu tượng đã có trong bản sao của thư viện libz mà chương trình của bạn ban đầu được liên kết với. Điều này có liên quan đến sự khác biệt trong môi trường xây dựng tương ứng, không phải với các phiên bản của thư viện libz.

Tôi nghi ngờ bạn sẽ tiếp tục nhận được tin nhắn cho đến khi bạn cung cấp một bản sao của libz được xây dựng với cùng bộ công cụ như nhị phân của bạn, tức là một bộ công cụ chèn các phiên bản biểu tượng vào thư viện. Hoặc xây dựng nhị phân của bạn với các công cụ tương tự như các công cụ được sử dụng khi libz được biên dịch trên hệ thống mandriva của bạn, vì vậy không có tham chiếu phiên bản biểu tượng nào có trong nhị phân.

Xem: http://harmful.cat-v.org/software/dynamic-linking/versioned-symbols http://www.linux-kongress.org/1997/youngdale.html http://www.usenix.org/ ấn phẩm / thư viện / thủ tục tố tụng / als00 / 2000 Vogue / giấy tờ / full_ con / browndavid / browndavid_html /

Tôi không biết bất kỳ công cụ nào sẽ cho phép bạn sửa đổi nhị phân được biên dịch trên hệ thống khác để xóa các tham chiếu phiên bản biểu tượng mà bạn không muốn và để lại tất cả các công cụ khác, nếu có.


3

Lỗi đó, "không có thông tin phiên bản khả dụng", có nghĩa là phiên bản libz mà bạn đã liên kết khi bạn biên dịch thư viện mới hơn phiên bản trên hệ thống mandrivia bạn đang sử dụng.

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.