Назад | Перейти на главную страницу

Solaris: сбой при выполнении Apache 2.4.23 mod_jk.so, для ColdFusion 10

Итак, немного истории, пропустите следующий раздел, если хотите перейти к текущей проблеме.


Мы обновляем Apache 2.2.20 до Apache 2.4.23 в среде SPARC Solaris 10. Этот сервер предназначен как сервер веб-хостинга, и на нем размещается несколько приложений ColdFusion 10.

Чтобы упростить процесс обновления, мы использовали OpenCSW.org для загрузки предварительно скомпилированных пакетов SPARC Solaris 10, которые должны включать все необходимые предварительные условия, необходимые для полностью независимой установки Apache 2.4.23, чтобы владельцы приложений могли тестировать и переносить свои приложения с Apache с 2.2.20 по 2.4.23.

К сожалению, мы не можем заставить ColdFusion 10 работать с Apache 2.4.23. Ошибки при попытке запустить экземпляр Apache приводят к тому, что mod_jk.so не может правильно загрузиться из-за некоторого несоответствия в определении "ap_log_error". Согласно моим исследованиям, ColdFusion 10 предоставляет каждому экземпляру свой собственный коннектор Tomcat на тему ColdFusion (mod_jk.so) для использования, но кажется, что ColdFusion 10 при создании нового экземпляра и указании места установки Apache 2.4.23 продолжает создавать несовместимый Apache 2.2 mod_jk.so.

Очевидно, вы можете скомпилировать mod_jk.so самостоятельно, но вы должны использовать исходный код Adobe для коннектора, поскольку Adobe вносит определенные изменения в исходный код, чтобы он работал с ColdFusion. Пользователь jonathan_morgan делает подробный пост о том, как этого добиться: https://forums.adobe.com/message/5823263#5823263

Так что, хотя мне удавалось настраивать коннектор, запуск make всегда терпит неудачу.


Я пробовал использовать gmake и make, чтобы скомпилировать это, и вот информация о текущей операции gmake и ее положениях:

Finished prerequisites of target file 'mod_jk.la'.

Необходимо переделать цель mod_jk.la. gmake [1]: вход в каталог '/apps/webserver/coldfusion10/connector-source/native/apache-2.0' / ​​opt / csw / libexec / apr / build-1 / libtool --silent --mode = link / opt / solarisstudio12.4 / bin / cc -std = c99 -I / opt / csw / include / apache2 -DHAVE_CONFIG_H -DUSE_APACHE_MD5 -I ../ общий -I ../common -DSOLARIS2 = 10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTGANTICS -D_REENTRANTRANT m32 -xarch = sparc -DSSL_EXPERIMENTAL -DSSL_ENGINE -DHAVE_APR -I / opt / csw / include -I / opt / csw / include -DHAVE_CONFIG_H -DSOLARIS2 = 10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTAR_SEMANTICS -D_REENTAR_SEMANTICS -D_REENTARG sparc -Wl, -L / opt / csw / bdb48 / lib -Wl, -L / opt / csw / lib -o mod_jk.la -module -rpath / opt / csw / lib / apache2 / modules -avoid-version mod_jk. lo ../common/jk_ajp12_worker.lo ../common/jk_connect.lo ../common/jk_msg_buff.lo ../common/jk_util.lo ../common/jk_ajp13.lo ../common/jk_pool.lo. ./common/jk_worker.lo ../common/jk_ajp13_worker.lo ../common/jk_lb_worker.lo ../common/jk_sockbuf.lo ../common/jk_map.lo ../common/jk_uri_worker_map.lo ../ c ommon / jk_ajp14.lo ../common/jk_ajp14_worker.lo ../common/jk_md5.lo ../common/jk_shm.lo ../common/jk_ajp_common.lo ../common/jk_context.lo ../common/ jk_url.lo ../common/jk_status.lo Размещение дочернего 72278 (mod_jk.la) PID 26001 в цепочке. Живой дочерний элемент 72278 (mod_jk.la) PID 26001 ld: fatal: нераспознанный параметр '-x' ld: fatal: используйте параметр справки -z для получения информации об использовании Получение потерянного дочернего элемента 72278 PID 26001 gmake [1]: * [Makefile: 83: mod_jk.la] Ошибка 2 Удаление дочернего 72278 PID 26001 из цепочки. gmake [1]: Выход из каталога '/apps/webserver/coldfusion10/connector-source/native/apache-2.0' Получение потерянного дочернего элемента 6fb90 PID 25992 gmake: * [Makefile: 465: all-recursive] Ошибка 1 Удаление дочернего 6fb90 PID 25992 из цепочки.

Вот результаты операции make Solaris:

/ opt / csw / libexec / apr / build-1 / libtool --silent --mode = link /opt/solarisstudio12.4/bin/cc -std = c99 -I / opt / csw / include / apache2 -DHAVE_CONFIG_H -DUSE_APACHE_MD5 -I ../ общий -I ../common -DSOLARIS2 = 10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -xO3 -m32 -xarch = sparc -DSSL_EXPERIMENTAL -DSSL_ENGINE-opt / cdHAVE_APR -I / optDHAVE_APR -I / include -DHAVE_CONFIG_H -DSOLARIS2 = 10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -Wl, -m32 -Wl, -xarch = sparc -Wl, -L / opt / csw / bdb48 / lib -WL / opt / csw / bdb48 / lib -W -o mod_jk.la -module -rpath / opt / csw / lib / apache2 / modules -avoid-version mod_jk.lo ../common/jk_ajp12_worker.lo ../common/jk_connect.lo ../common/jk_msg_buff.lo ../common/jk_util.lo ../common/jk_ajp13.lo ../common/jk_pool.lo ../common/jk_worker.lo ../common/jk_ajp13_worker.lo ../common/jk_lb_worker.lo .. /common/jk_sockbuf.lo ../common/jk_map.lo ../common/jk_uri_worker_map.lo ../common/jk_ajp14.lo ../common/jk_ajp14_worker.lo ../common/jk_md5.lo ../common /jk_shm.lo ../commo n / jk_ajp_co> mmon.lo ../common/jk_context.lo ../common/jk_url.lo ../common/jk_status.lo ld: fatal: unrecognized option '-x' ld: fatal: use the -z help опция для информации об использовании *** Код ошибки 2 make: Неустранимая ошибка: Команда не выполнена для цели mod_jk.la' Current working directory /apps/webserver/coldfusion10/connector-source/native/apache-2.0 *** Error code 1 The following command caused the error: fail=; \ if (target_option=k; case ${target_option-} in ?) ;; *) echo "am__make_running_with_option: internal error: invalid" "target option '${target_option-}' specified" >&2; exit 1;; esac; has_opt=no; sane_makeflags=$MAKEFLAGS; if test -n '' && test -n ''; then sane_makeflags=$MFLAGS; else case $MAKEFLAGS in *\\[\ \ ]*) bs=\\; sane_makeflags=printf '% s \ n' "$ MAKEFLAGS" | sed "s / $ bs $ bs [$ bs $ bs]//грамм";; esac; fi; skip_next=no; strip_trailopt () { flg=printf '% s \ n' "$ flg" | sed "s / $ 1.$ // "; }; for flg in $sane_makeflags; do test $skip_next = yes && { skip_next=no; continue; }; case $flg in *=*|--*) continue;; -*I) strip_trailopt 'I'; skip_next=yes;; -*I?*) strip_trailopt 'I';; -*O) strip_trailopt 'O'; skip_next=yes;; -*O?*) strip_trailopt 'O';; -*l) strip_trailopt 'l'; skip_next=yes;; -*l?*) strip_trailopt 'l';; -[dEDm]) skip_next=yes;; -[JT]) skip_next=yes;; esac; case $flg in *$target_option*) has_opt=yes; break;; esac; done; test $has_opt = yes); then \ failcom='fail=yes'; \ else \ failcom='exit 1'; \ fi; \ dot_seen=no; \ target=эхо рекурсивный | sed s / -рекурсивный //; \ case "all-recursive" in \ distclean-* | maintainer-clean-*) list='common apache-2.0' ;; \ *) list='common apache-2.0' ;; \ esac; \ for subdir in $list; do \ echo "Making $target in $subdir"; \ if test "$subdir" = "."; then \ dot_seen=yes; \ local_target="$target-am"; \ else \ local_target="$target"; \ fi; \ (CDPATH="${ZSH_VERSION+.}:" && cd $subdir && make $local_target) \ || eval $failcom; \ done; \ if test "$dot_seen" = "no"; then \ make "$target-am" || exit 1; \ fi; test -z "$fail" make: Fatal error: Command failed for targetвсерекурсивный '

Кажется, что на mod_jk.la происходит сбой из-за неправильной опции "-x". Если -x был недопустимым параметром, то почему он был настроен на использование этого параметра и как и где его изменить? Насколько я понимаю, файла mod_jk.la не существует в файловой системе. Насколько я могу судить из своих исследований, "-x" является устаревшей и удаленной опцией из компоновщика ld Solaris, но я не понимаю, как просто указать операции make игнорировать опцию -x и т. Д.

Вот ответ одного из моих оперативников:

CF10 изначально не работал с Apache 2.4. Это было обновление 14 (я думаю, именно оно), которое разрешило Apache 2.4. Им необходимо запустить ColdFusion на встроенном веб-сервере, обычно на порту 8500, а затем полностью исправить CF, прежде чем они смогут подключить его к Apache 2.4.


Надеюсь, это ясно. Вам необходимо убедиться, что ваш CF10 имеет правильный уровень исправления. Дайте мне знать, если это поможет - или если вы хотите, чтобы мы принимали непосредственное участие. Удачи!