응용 프로그램은 Firefox 플러그인 ($ HOME/.mozilla/plugins에서로드 됨)이므로 LD_LIBRARY_PATH를 설정하는 래퍼 스크립트는 쉬운 옵션이 아닙니다.공유 라이브러리가있는 GNU/Linux Firefox 플러그인 (루트 액세스가없는 설치용)
내가 아는 한 RPATH는 $ HOME을 참조 할 수 없으며 절대 경로 일 수 있습니다.
Firefox는 ~/.mozilla/plugins에서 플러그인을 dlopen하려고하지만 (사용자 홈 디렉토리의 어딘가에 설치된 공유 라이브러리에 의존하기 때문에) 실패합니다.
파이어 폭스 주위에 래퍼 (LD_LIBRARY_PATH와 함께)를 제공하기 위해 파이어 폭스 메뉴 항목 수정하기가 너무 어렵습니다.
공유 라이브러리에 의존하는 표준 파이어 폭스로드 플러그 인을 만들기 위해 설치 프로그램 스크립트는 (루트 액세스없이) 어떻게해야합니까?
- 종속성을 제거하기 위해 .so에 모든 것을 포함시켜야합니까?
- 설치 단계에서 설치 스크립트를 사용하여 링크를 완료하거나 RPATH를 패치해야합니까?
$ORIGIN/lib
-
설치중인 플러그인에 감지 된 경로를 패치하는 'patchelf'를 설치 프로그램에 포함 시켰습니다. –
'patchelf'와 하드 코드 된 경로를 $ ORIGIN으로 해킹을 제거했습니다. –