«Вы должны указать допустимый путь —with-apxs» при сборке mod_jk в ubuntu

#apache #tomcat #ubuntu #load-balancing #mod-jk

#apache #tomcat #ubuntu #балансировка нагрузки #mod-jk

Вопрос:

Я пытаюсь собрать mod_jk для Apache в Ubuntu, но когда я выдаю:

 ./configure --with-apxs=/usr/local/apache/bin/apxs 
  

Я получил следующую ошибку:

 checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking target system type... x86_64-unknown-linux-gnu
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
/home/Arbi/Downloads/tomcat-connectors-1.2.40-src/native/scripts/build/unix/missing: Unknown `--is-lightweight' option
Try `/home/Arbi/Downloads/tomcat-connectors-1.2.40-src/native/scripts/build/unix/missing --help' for more information
configure: WARNING: 'missing' script is too old or missing
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for test... /usr/bin/test
checking for grep... /bin/grep
checking for echo... /bin/echo
checking for sed... /bin/sed
checking for cp... /bin/cp
checking for mkdir... /bin/mkdir
need to check for Perl first, apxs depends on it...
checking for perl... /usr/bin/perl
could not find /usr/local/apache/bin/apxs
configure: error: You must specify a valid --with-apxs path
  

Apache уже установлен, и каталог /usr/local/apache/bin/ существует, также apxs его можно найти там!
Есть идеи, почему у меня возникает эта ошибка и как я могу выполнить сборку mod_jk ?

Комментарии:

1. У меня была аналогичная проблема в Solaris. Параметр perl равен #!/usr/local/perl -w . Кто-нибудь может помочь?

Ответ №1:

У меня была такая же проблема, но у меня есть решение.

Во-первых, я не выясняю, почему файл apxs не найден системой.

Но в качестве альтернативы вы можете определить каталог Apache с помощью опции

—with-apche=DIR

пример:

./configure —with-apache=/usr/local/bin/apache

Ответ №2:

В моем случае сообщение об ошибке вводило в заблуждение, выполнив apxs команду самостоятельно, я мог видеть, что на самом деле отсутствовали другие инструменты

 $ apxs -q PREFIX
/usr/local/apache2
apxs:Error: /usr/bin/apr-1-config not found!.
  

Исправление заключалось в установке libaprutil1-dev пакета

 $ apt-get install libaprutil1-dev
  

Ответ №3:

Столкнулся с той же проблемой и смог ее исправить. Проблема заключалась в том, что, по-видимому, я указывал путь к apxs в каталоге, где я собирал apache. После вызова ‘make install’ процесс make установит apache в каталог, который вы указали в процессе настройки, в моем случае это был / usr / local /apache2, а apxs скопируется в подкаталог ‘bin’. Когда я предоставил /usr/local/apache2/bin/ apxs, это внезапно сработало. Кроме того, после сотни попыток я начал менять местами p и x, и, конечно, /usr/local/apache2/bin/ axps в этом случае не существует, поэтому вы, возможно, захотите обратить внимание и на эту деталь 😉

Ответ №4:

Сборка mod jk ссылается на версию apache, для которой она собрана. В основном вы столкнулись бы с этой ошибкой, если бы httpd был собран из исходного кода. Это потому, что при сборке из исходного кода файл apxs будет содержать путь к builddir и т.д. —with-apxs=path будет ссылаться на это содержимое и жалобы на то, что путь недействителен. Чтобы устранить ошибку, переместите сборку httpd в папку, как указано в файле apxs.

Ответ №5:

Я попробовал это. У меня это сработало.

 ./configure --with-apxs=/usr/local/apache/bin/apxs
  

который выдает следующий вывод:

 checking build system type... x86_64-pc-linux-gnu
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking for test... /bin/test
checking for grep... /bin/grep
checking for echo... /bin/echo
checking for sed... /bin/sed
checking for cp... /bin/cp
checking for mkdir... /bin/mkdir
need to check for Perl first, apxs depends on it...
checking for perl... /bin/perl
could not find /usr/local/apache/bin/apxs
configure: error: You must specify a valid --with-apxs path
  

Я попытался с помощью приведенной ниже команды найти, где находится apxs.

 [root@ip-10-0-0-20 native]# whereis apxs

apxs: /usr/bin/apxs /usr/share/man/man1/apxs.1.gz

[root@ip-10-0-0-20 native]# ./configure --with-apxs=/usr/bin/apxs
checking build system type... x86_64-pc-linux-gnu
  

Ответ №6:

У меня такая же проблема. но решаемая.

Если вы установили в таком порядке

  1. apache httpd
  2. perl

перепишите первую строку /usr/local/apache/bin/apxs

#!/replace/with/path/to/perl/interpreter -w

Для

#!/usr/local/perl -w

/usr/local/perl — это ваш путь к perl.

И повторите попытку настройки.