błąd podczas ładowania bibliotek współdzielonych, plik jest za krótki

15

Od jednego z moich klientów dostałem aplikację. Kiedy próbuję go uruchomić, pojawia się następujący błąd

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

W mojej strukturze projektu widzę:

-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

Czy moja biblioteka współdzielona libvtkWidgets jest uszkodzona? Jak rozwiązać ten błąd?

Tommyk
źródło
Uruchomienie sudo ldconfigdaje dokładny problem („Plik *** jest pusty, niezaznaczony.” Lub „*** nie jest dowiązaniem symbolicznym”)
Yan Foto

Odpowiedzi:

19

Prawdopodobnie wystąpił błąd podczas kopiowania / rozpakowywania bibliotek. libvtkWidgets.so i libvtkWidgets.so.5.4 nie powinny być plikami, ale dowiązaniami symbolicznymi. Spróbuj wykonać następujące czynności:

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

W każdym razie należy sprawdzić, czy instalowane oprogramowanie jest dostępne w centrum oprogramowania. Jeśli nie jest dostępna i powyższa poprawka nie działa, musisz skontaktować się z dostawcą aplikacji.

João Pinto
źródło
1
Wielkie dzięki, rzeczywiście popełniłem błąd podczas ekstrakcji plików w systemie Windows i kopiowania wyodrębnionych plików na moją maszynę wirtualną Ubuntu. Dlatego zniknęły wszystkie dowiązania symboliczne.
tommyk
Tworzę własne rozszerzenie C ++ i nawet po uczynieniu go dowiązaniem symbolicznym problem nadal występował. Czy istnieje pamięć podręczna, której nie jestem świadomy?
noɥʇʎԀʎzɐɹƆ