运送带有共享库的GNU / Linux Firefox插件(用于无root访问权限的安装)

该应用程序是一个Firefox插件(从$HOME / .mozilla / plugins加载),因此设置LD_LIBRARY_PATH的包装脚本不是一个简单的选择.

据我所知,RPATH不能引用$HOME而只能是绝对路径.

Firefox试图从〜/ .mozilla / plugins中删除它的插件但是失败了(因为它依赖于安装在用户主目录中某处的共享库).

修改Firefox菜单项以在Firefox周围提供包装器(带有LD_LIBRARY_PATH)实在太过分了.

安装程序脚本应该做什么(没有root访问权限)来制作依赖于共享库的标准firefox加载插件?

>我是否应该尝试将所有内容嵌入到那里.以删除依赖项?
>我是否应该尝试在安装阶段使安装程序脚本完成链接或修补RPATH?

解决方法:

将RPATH设置为$ORIGIN / lib,以便加载器查找相对于我的文件的库.

脚本只是将插件解压缩到$HOME / .mozilla / plugins / myplugin.so和库到$HOME / .mozilla / plugins / lib /

通过添加Wl,-rpath,’$ORIGIN / lib'($应该在Makefile中加倍),可以通过gcc将rpath指定给链接器,也可以在patchelf编译后更改.

上一篇:毕业设计之 - 基于STM32的智能药箱系统设计与实现


下一篇:基于Arduino,使用三个开关控制电机的正转,反转,和停转