Невозможно собрать GNU automake — help2man не может получить информацию «—help» из automake-1.16

#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. Централизованно устанавливать не нужно.