#linux #unix #gnu #automake
#linux #unix #gnu #automake
Вопрос:
Я пытаюсь скомпилировать и собрать 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-доступа. Как мне успешно выполнить компиляцию automake без установки «perl-Thread-Queue»? Мне нужна эта конкретная версия automake для компиляции другого пакета.
Ответ №1:
Вам необходимо установить help2man
, а также получить, Thread::Queue
как описано здесь . По сути:
# 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 amp;amp; eval $(perl -I ~/perl5/lib/perl5/ -Mlocal::lib)
cpanm Thread::Queue # For automake
Обратите внимание, что перед продолжением установки необходимо убедиться, что пути заданы.
Ответ №2:
необходимо использовать исходный код, подобный этому automake-1.16/bin/automake.in use List::Util ‘reduce’; sub none (amp;@) { my $code=shift; reduce { $a amp;amp; ! $code->(local $_ = $b) } 1, @_; } https://github.com/Homebrew/linuxbrew-core/pull/6352/commits/dec6db52ad887a27210e0521a0bc5c271a7c9332
Ответ №3:
Вы можете создать очередь потоков perl из исходного кода и поместить ее в свой perl path. Централизованно устанавливать не нужно.