該應用程序是一個Firefox插件(從$ HOME/.mozilla/plugins加載),所以設置LD_LIBRARY_PATH的包裝腳本不是一個簡單的選項。運行帶有共享庫的GNU/Linux Firefox插件(用於安裝時無需root訪問)
據我所知,RPATH不能引用$ HOME並且只能是絕對路徑。
Firefox嘗試從〜/ .mozilla/plugins中刪除它的插件,但失敗(因爲它取決於用戶主目錄中某處安裝的共享庫)。
在Firefox附近修改Firefox菜單項以提供一個封裝(使用LD_LIBRARY_PATH)太冒險了。
安裝程序腳本應該執行哪些操作(無需root訪問權限)以製作取決於共享庫的標準Firefox加載插件?
- 我應該試着讓所有東西都嵌入到.so中去除依賴關係嗎?
- 我應該在安裝階段嘗試讓安裝程序腳本完成鏈接或修補RPATH嗎?
在安裝程序中包含「patchelf」,它將檢測到的路徑修補到正在安裝的插件。 – 2010-06-11 12:51:55
用$ ORIGIN刪除了帶有「patchelf」和硬編碼路徑的黑客 – 2010-06-11 19:48:24