我按照this教程中的说明构建了Perl的自定义版本。
我最初做了第8步,如下:
./Configure -d -Dprefix=/custom/perl
在我这样做之后,我做了make
,make test
和make install
。
然后我决定在/ opt / perl中使用Perl,所以我做make clean
并重复该过程并使用适当的目录执行步骤8。仍然安装到/ custom。然后我完全删除了自定义并使用./Configure
步骤中的相应目录重新安装。仍然安装到/ custom。
我错过了什么?我希望Perl在/ opt not / custom。
答案 0 :(得分:2)
根据INSTALL
文件,您拥有5.16的正确用法:“您还可以通过向-Dprefix='/some/dir'
的参数添加”Configure
“来指定任何前缀位置。”< / p>
所以我怀疑make clean
不会删除Configure
创建的文件。从新目录而不是“清理”目录中尝试它。或者至少尝试删除config.sh
和Policy.sh
。
[更新:有人指出make distclean
可以用来做到这一点。当然,如果您从repo而不是tarball安装,git clean -dfx
也可以。 ]
答案 1 :(得分:1)
-d
的{{1}}选项会导致构建过程获取现有的./Configure
文件。 config.sh
选项会覆盖现有-Dprefix=...
中的prefix
设置,但不幸的是,它不会覆盖可以基于config.sh
设置的许多其他选项。 config.sh
的早期设置。
除了prefix
之外,您还需要make clean
才能安全地重用perl构建目录。
如果您打算将构建过程中的设置复制到另一台计算机,您还需要清除rm config.sh
。