我正在处理我的软件打包和分发,截至目前我对此并不了解,我的软件代码正在使用一些perl模块,如linux statistics
和一些oracle
模块。因此,我在我的软件包中保留了 perl源和所有模块源。
在安装机器时,我将根据用户路径(./Configure --prefix=customer_own_dir
)配置我的perl,并在perl
中安装所有perl模块。之后我会做
sed s~perl-place-holder~PERL_PATH~g *.checker.pl
这将替换所有perl脚本(我的自定义代码)文件以引用当前的perl dir即。 customer_own_dir/perl/bin/perl
。现在我想把它作为可执行二进制文件来交付客户(为了避免在客户端配置和构建),这样我就可以解决所有perl二进制文件中的路径依赖关系。因为在配置perl源时,prefix
在perl可执行文件中的所有文件中都是硬编码的。
如何解决这个问题,我找不到合适的wiki来做到这一点?有些网站描述了LD_PATH
和ORIGIN
,我无法理解!任何人都可以解释一下这样做的方法吗?
编辑:
注意:我的一些库依赖于特定的perl版本(5.14),也将我的模块安装在远程机器的现有perl需要root权限的情况下做到这一点,有时我不知道#39; t有权访问root!