我有一台在Windows上的Ubuntu上运行带有Bash的Windows 10的计算机。它使用某种FUSE文件系统,该文件系统没有适当的硬链接支持。
因此,典型的perl编译失败。如果要编译,则需要执行以下操作:
echo "dont_use_nlink='define'" >> Policy.sh
./Configure -des
make
make install
我理想中想要的是能够使用perlbrew
或plenv
管理我的Perl并将dont_use_nlink
参数传递给我构建的任何Perl。有什么办法吗?
幸运的是,看起来Win10 WSL中的基本问题已修复,并且(希望)将很快发布。
作为MichielB指出,-A或-D看起来他们要做到这一点,但它从我的一些测试中出现Perl的配置不兑现-A
或-D
论据时,-de
也传递(见在Perl的metaconfig“用法”为的意义这些参数)。尽管在生成的config.sh的args列表中清楚看到格式正确的-A和-D标志,但是dont_use_nlink从未添加。
碰巧的是,除非您使用特殊的PERLBREW_CONFIGURE_FLAGS
环境变量,否则perlbrew会将其作为默认值传递。
但是,有一种解决方法。您可以使用PERLBREW_CONFIGURE_FLAGS
来-f
传递我们自己的配置文件。我们可以使用由失败的“ perlbrew安装”运行生成的最正确的config.sh,然后对其进行调整并将其传递。
脚步:
perlbrew install perl-5.24.0
cp /home/USERNAME/perl5/perlbrew/build/perl-5.24.0/config.sh ~/config_dont_use_nlink.sh
dont_use_nlink='define'
。如果您要整理整齐并按字母顺序归档,它将介于dlsrc和doubleinfbytes之间:dlsrc='dl_dlopen.xs' dont_use_nlink='define' doubleinfbytes='0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x7f'
PERLBREW_CONFIGURE_FLAGS="-de -f /home/USERNAME/config_dont_use_nlink.sh" perlbrew install perl-5.24.0
对于我来说,这是在Win10版本14393上最干净的WSL上编译的,并且几乎所有测试都通过了(其余看起来像已经提交了WSL错误的东西)。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句