Solaris: Falha no Apache 2.4.23 mod_jk.so, para o ColdFusion 10

1

Portanto, um pouco de história, pule a seção a seguir se quiser chegar ao problema atual.

Estamos atualizando do Apache 2.2.20 para o Apache 2.4.23 em um ambiente SPARC Solaris 10. Este servidor serve como um servidor de webhosting e hospeda vários aplicativos do ColdFusion 10.

Para simplificar o processo de atualização, usamos o OpenCSW.org para fazer o download de pacotes pré-compilados do SPARC Solaris 10 que devem incluir todos os pré-requisitos necessários para ter uma instalação Apache 2.4.23 totalmente independente, para que os proprietários de aplicativos possam testar e migrar suas aplicações do Apache 2.2.20 para 2.4.23.

Infelizmente, não podemos fazer com que o ColdFusion 10 funcione com o Apache 2.4.23. Erros que tentam iniciar uma instância do Apache resultam na impossibilidade de carregar o mod_jk.so devido a alguma incompatibilidade na definição "ap_log_error", talvez. Da minha pesquisa, o ColdFusion 10 fornece a cada instância seu próprio conector Tomcat com tema ColdFusion (mod_jk.so) para usar, mas parece que o ColdFusion 10, ao criar uma nova instância e especificar o local de instalação do Apache 2.4.23, continua a fazer incompatível Apache 2.2 mod_jk.so.

Aparentemente, você pode compilar o mod_jk.so por conta própria, mas você deve usar a fonte da Adobe para o conector, já que a Adobe faz certas alterações na fonte para que ela funcione com o ColdFusion. O usuário jonathan_morgan aqui faz um post detalhado sobre como fazer isso: link

Então, embora eu tenha conseguido configurar o conector, a execução de 'make' sempre falha.

Eu tentei usar o gmake e make para compilar isso, e aqui está uma leitura da operação atual do gmake e o que ela declara:

Finished prerequisites of target file 'mod_jk.la'.

Must remake target 'mod_jk.la'. gmake[1]: Entering directory '/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../common -I ../common -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -xO3 -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_REENTRANT -D_LARGEFILE64_SOURCE -Wl,-m32 -Wl,-xarch=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 ../common/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 Putting child 72278 (mod_jk.la) PID 26001 on the chain. Live child 72278 (mod_jk.la) PID 26001 ld: fatal: unrecognized option '-x' ld: fatal: use the -z help option for usage information Reaping losing child 72278 PID 26001 gmake[1]: * [Makefile:83: mod_jk.la] Error 2 Removing child 72278 PID 26001 from chain. gmake[1]: Leaving directory '/apps/webserver/coldfusion10/connector-source/native/apache-2.0' Reaping losing child 6fb90 PID 25992 gmake: * [Makefile:465: all-recursive] Error 1 Removing child 6fb90 PID 25992 from chain.

Veja os resultados da operação de criação do 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../common -I ../common -DSOLARIS2=10 -D_POSIX_PTHREAD_SEMANTICS -D_REENTRANT -D_LARGEFILE64_SOURCE -xO3 -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_REENTRANT -D_LARGEFILE64_SOURCE -Wl,-m32 -Wl,-xarch=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 ../common/jk_ajp14.lo ../common/jk_ajp14_worker.lo ../common/jk_md5.lo ../common/jk_shm.lo ../common/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 option for usage information *** Error code 2 make: Fatal error: Command failed for target 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 ]//g";; 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=echo all-recursive | sed s/-recursive//; \ 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 targetall-recursive'

Parece falhar em mod_jk.la, devido a alguma opção ilegal "-x". Se -x era uma opção ilegal, por que foi configurado para usar essa opção e como ou onde eu a altero? O arquivo mod_jk.la não existe no sistema de arquivos, tanto quanto eu posso ver. Tanto quanto eu posso dizer da minha pesquisa "-x" é uma opção obsoleta e removida do ld linker Solaris, mas eu não tenho conhecimento de como apenas direcionar a operação make para ignorar a opção -x, etc.

    
por J. Doe 16.11.2016 / 21:19

1 resposta

0

Aqui está uma resposta de um dos meus colegas de trabalho:

O CF10 não funcionou com o Apache 2.4 originalmente. Foi a atualização 14 (acho que foi isso) que permitiu o Apache 2.4. Eles precisam executar o ColdFusion no servidor da Web integrado geralmente na porta 8500 e, em seguida, fazer o patch completo do CF antes que possam conectá-lo ao Apache 2.4.

Espero que esteja claro. Você precisa garantir que seu CF10 esteja no nível de correção correto. Deixe-me saber se isso ajuda - ou se você quer que nos envolvamos diretamente. Boa sorte!

    
por 16.11.2016 / 22:02