该应用程序是一个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