공유 라이브러리를로드하는 동안 오류가 발생했습니다. 파일이 너무 짧습니다


15

고객 중 한 명으로부터 신청서를 받았습니다. 실행하려고하면 다음과 같은 오류가 발생합니다.

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

내 프로젝트 구조에서 다음을 볼 수 있습니다.

-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

공유 라이브러리 libvtkWidgets가 손상 되었습니까? 그 오류를 해결하는 방법?


실행 sudo ldconfig하면 정확한 문제가 발생합니다 ( "파일 ***은 비어 있고 확인되지 않았습니다."또는 "***는 심볼릭 링크가 아닙니다")
Yan Foto

답변:


19

라이브러리를 복사 / 추출하는 중에 오류가 발생했을 수 있습니다. libvtkWidgets.so 및 libvtkWidgets.so.5.4는 파일이 아니라 기호 링크 여야합니다. 다음을 시도하십시오 :

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

어쨌든 설치하려는 소프트웨어가 소프트웨어 센터에서 사용 가능한지 확인해야합니다. 사용할 수없고 위의 수정 사항이 작동하지 않으면 애플리케이션 제공 업체에 문의해야합니다.


1
정말 감사합니다. 실제로 Windows에서 파일을 추출하고 추출 된 파일을 내 Ubuntu 가상 머신으로 복사하는 중에 실수가 발생했습니다. 그렇기 때문에 모든 심볼릭 링크가 사라졌습니다.
tommyk

나는 내 자신의 C ++ 확장을 만들고 있는데, 그것을 상징적 인 링크로 만든 후에도 문제가 지속되었습니다. 내가 모르는 캐시가 있습니까?
noɥʇʎԀʎzɐɹƆ
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.