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 target
all-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.