Как пересобрать openssh 5.2p1 после изменения configure.ac

Мне нужно было добавить AM_PATH_CHECK в configure.am. Затем я попытался запустить обычную последовательность команд autotools, чтобы перестроить все make-файлы и еще много чего:

aclocal
automake -ac
autoheader
autoreconf
./configure
make

и здесь проявляется мое непонимание автоинструментов, потому что в этой версии openssh нет Makefile.am??? теперь что мне делать?

если я попытаюсь проигнорировать это и все равно построить, configure умирает с этой прекрасной ошибкой:

checking whether OpenSSL's PRNG is internally seeded... yes
./configure: line 18275: syntax error near unexpected token `PROG_LS,'
./configure: line 18275: `OSSH_PATH_ENTROPY_PROG(PROG_LS, ls)'

вызвано этой строкой в ​​configure.ac:

OSSH_PATH_ENTROPY_PROG(PROG_LS, ls)

Действительно ли это вызвано моими изменениями в configure.ac?
что я могу сделать, чтобы восстановить необходимые файлы, чтобы настроить работу?
если я удалю свои изменения и не буду запускать aclocal, тогда это сработает???


person Arthur Ulfeldt    schedule 18.06.2010    source источник
comment
Запустите 'autoreconf' вместо 'aclocal && autoheader && autoconf && automake', а не после.   -  person William Pursell    schedule 20.06.2010


Ответы (2)


Проверьте, где находится файл .m4, в котором определен OSSH_PATH_ENTROPY_PROG, затем передайте его каталог aclocal:

aclocal -I <directory>

Если у него нет Makefile.am, просто пропустите команду automake.

person Juliano    schedule 18.06.2010

Макрос OSSH_PATH_ENTROPY_PROG определен в макросе aclocal.m4, включенном в tar-архив openssh, и перезаписывается вызовом make libtoolize.

Чтобы обойти это, создайте папку m4 и переместите в нее aclocal.m4. Затем выполните

aclocal -I m4
autoheader
autoreconf
./configure
make
person Wei-Chung Wen    schedule 20.10.2014