lỗi trong khi tải thư viện chia sẻ, tập tin quá ngắn


15

Từ một trong những khách hàng của tôi, tôi đã nhận được một ứng dụng. Khi tôi cố chạy nó, tôi gặp lỗi sau

error while loading shared libraries: ./libvtkWidgets.so.5.4: file too short

Trong cấu trúc dự án của tôi, tôi thấy như sau:

-rwxrwxrwx  1 tomasz tomasz       20 2011-02-01 10:44 libvtkWidgets.so
-rwxrwxrwx  1 tomasz tomasz       22 2011-02-01 10:44 libvtkWidgets.so.5.4
-rwxrwxrwx  1 tomasz tomasz  2147103 2011-02-01 10:44 libvtkWidgets.so.5.4.2

Là thư viện chia sẻ của tôi libvtkWidgets bị hỏng? Làm thế nào để giải quyết lỗi đó?


Chạy sudo ldconfigcho bạn vấn đề chính xác ("Tệp *** trống, không được kiểm tra." Hoặc "*** không phải là liên kết tượng trưng")
Yan Foto

Câu trả lời:


19

Có thể có một lỗi sao chép / trích xuất các thư viện. libvtkWidgets.so và libvtkWidgets.so.5.4 không nên là các tệp mà là các liên kết tượng trưng. Hãy thử như sau:

rm libvtkWidgets.so.5.4 libvtkWidgets.so
ln -s libvtkWidgets.so.5.4.2 libvtkWidgets.so.5.4
ln -s libvtkWidgets.so.5.4 libvtkWidgets.so

Dù sao, bạn nên kiểm tra xem phần mềm bạn đang cài đặt có sẵn từ trung tâm phần mềm không. Nếu nó không có sẵn và nếu sửa chữa ở trên không hoạt động, bạn sẽ cần liên hệ với nhà cung cấp ứng dụng.


1
Cảm ơn rất nhiều, thực sự tôi đã làm một lỗi trích xuất các tệp trên Windows và sao chép các tệp được trích xuất vào máy ảo Ubuntu của tôi. Đó là lý do tại sao tất cả các liên kết tượng trưng đã biến mất.
tommyk

Tôi đang tạo tiện ích mở rộng C ++ của riêng mình và ngay cả sau khi biến nó thành một liên kết tượng trưng, ​​vấn đề vẫn tồn tại. Có một bộ đệm tôi không biết?
noɥʇʎԀʎzɐɹƆ
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.