我正在尝试编译和构建automake 1.16,它以下列方式失败:
help2man: can't get `--help' info from automake-1.16
Try `--no-discard-stderr' if option outputs to stderr
make: *** [doc/automake-1.16.1] Error 255
我在Stackoverflow和Github上搜索并发现了类似的问题,解决方案是“ yum install perl-Thread-Queue”
但是我没有root访问权限。如何在不安装“ perl-Thread-Queue”的情况下成功编译自动制作文件?我需要这个特定版本的automake来编译另一个软件包。
答案 0 :(得分:0)
您可以从源代码构建perl线程队列,并将其放入您的perl路径。无需集中安装。
答案 1 :(得分:0)
您需要安装 help2man
并获得 Thread::Queue
as described here。本质上:
# help2man
myprefix=$HOME/.hpc/help2man/1.48.3
wget https://gnuftp.uib.no/help2man/help2man-1.48.3.tar.xz
tar xfv help2man-1.48.3.tar.xz
cd help2man-1.48.3
./configure --prefix=$myprefix
make -j$(nproc)
make install
您还需要安装 perl
才能获得 Thread::Queue
。
curl -L https://raw.githubusercontent.com/ranguard/installing-perl/master/scripts/install_perl_on_nix.sh | bash
cpanm --local-lib=~/perl5 local::lib && eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
cpanm Thread::Queue # For automake
请注意,在继续安装之前,您需要确保设置了路径。
答案 2 :(得分:0)
必须更改像 automake-1.16/bin/automake.in 这样的源代码 +use List::Util 'reduce'; +sub none (&@) { 我的 $code=shift;减少 { $a && !$code->(local $_ = $b) } 1, @_; } https://github.com/Homebrew/linuxbrew-core/pull/6352/commits/dec6db52ad887a27210e0521a0bc5c271a7c9332