鉴于我编译的一些unix程序,我需要做些什么才能将其重定位到不同的目录并使其继续正常运行。ActivePerl在安装过程中“重新定位”文件时所做的工作是什么?
我在想Perl,但是会对像Apache这样的其他系统感兴趣,当它完成时它似乎也会失败。为了激发这个问题,当将其他系统捆绑为产品安装的一部分时,能够执行这种重定位将非常有用。
对于它的价值,是ActivePerl的安装过程似乎含有一些神奇的执行过程中安装搬迁..
Installing ActivePerl...
Copying files to /opt/ActivePerl-5.8...done
Relocating...done (164 files relocated)
Generating HTML documentation...done
Syncing perl PPM database with .packlists...done
ActivePerl has been successfully installed at /opt/ActivePerl-5.8.
谁能赐教为发生的事情背后的“搬迁......”一行?
这将是正确的答案。我为曾经拥有ActiveState的公司工作,并向ActivePerl作者询问这个问题。 – 2009-11-20 04:47:01
酷 - 我从哪里开始学习如何解决如何对任意程序做这种事情? – 2009-11-20 05:37:39
@Matt最后,我看了一下,该技术是将所有硬编码路径的根配置为“/ xxxXXXxxxREPLACEMExxxXXXxxx”之类的二进制文件,然后执行搜索并使用新的根目录替换二进制文件。它有点可怕,它的作品。我不知道它适用于所有的编译器和可执行格式。 – Schwern 2009-11-21 02:41:26