1

So a bit of history, skip the following section if you want to get to the current problem.


We're upgrading from Apache 2.2.20 to Apache 2.4.23 on a SPARC Solaris 10 environment. This server is meant as a webhosting server, and it hosts several ColdFusion 10 applications.

To simplify the upgrade process, we've used OpenCSW.org to download precompiled SPARC Solaris 10 packages that should include all the necessary prerequisites needed to have a completely independent Apache 2.4.23 install, so that application owners can test and migrate their applications from Apache 2.2.20 to 2.4.23.

Unfortunately, we can't get ColdFusion 10 to work with Apache 2.4.23. Errors trying to start an Apache instance results in mod_jk.so being unable to load properly due to some mismatch in "ap_log_error" definition perhaps. From my research, ColdFusion 10 supplies every instance its own ColdFusion-themed Tomcat connector (mod_jk.so) to use, but it seems that ColdFusion 10, when creating a new instance and specifying the Apache 2.4.23 install location, continues to make an incompatible Apache 2.2 mod_jk.so.

Apparently, you can compile mod_jk.so yourself, but you must use Adobe's source for the connector, as Adobe makes certain changes to the source so that it works with ColdFusion. User jonathan_morgan here makes a detailed post on how to accomplish this: https://forums.adobe.com/message/5823263#5823263

So while I've been able to ./configure the connector, running 'make' always fails.


I've tried using gmake and make to compile this, and here's a readout of the current gmake operation and what it states:

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.

Here's the results of Solaris's make operation:

/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'

It seems to fail at mod_jk.la, due to some illegal option "-x". If -x was an illegal option, then why was it configured to use this option and how or where do I change it? The file mod_jk.la does not exist in the filesystem, as far as I can see. As far as I can tell from my research "-x" is a deprecated and removed option from Solaris's ld linker, but I have no understanding of how to just direct the make operation to ignore the -x option, etc.

  • Great question and a very specific problem you are having - guessing not many SPARC/CF10 environments out there. :) I will post your link to an invite only list I'm on with some smart folks. Let me see if I can get you an answer. Sorry I don't have any direction for you! – Mark A Kruger Nov 16 '16 at 20:38
0

Here's an answer from one of my operations guys:

CF10 didn’t work with Apache 2.4 originally. It was update 14 (I think that was it) that allowed for Apache 2.4. They need to run ColdFusion on the built in web server usually on port 8500 then fully patch CF before they can connect it to Apache 2.4.


Hopefully that is clear. You need to insure your CF10 is at the correct patch level. Let me know if this helps - or if you want us to get directly involved. Good luck!

  • Thank you, Mark. Unfortunately all research I've done on ColdFusion 10's compatibility with Apache 2.4.x has shown that it is apparently "not compatible", except for the compatibility matrix stating that it is: Support Matrix. I have read that certain ColdFusion Hotfixes had made upgrades, bugfixes, and changes to the connector, so that is actually the first route I chose to pursue to fix this. I've applied Hotfix 21 to the test instance, (from Hotfix 13) and no dice. – J. Doe Nov 17 '16 at 18:40
  • Additionally, this is the output I get when I attempt to add the test application to the coldfusion instance which already has the Hotfix 21 installation performed. ># ./wsconfig -ws Apache -dir /apps/edcc/conf -v -bin /opt/csw/sbin/httpd -script /opt/csw/sbin/apachectl >command line: -ws Apache -dir /apps/edcc/conf -v -bin /opt/csw/sbin/httpd -script /opt/csw/sbin/apachectl >Using Apache binary /opt/csw/sbin/httpd >Could not determine Apache connector version. >Check that the Apache binary path /opt/csw/sbin/httpd is correct. – J. Doe Nov 17 '16 at 18:51
  • Additionally, here's a (cropped) image of the ColdFusion server variables for the particular test application I converted back to Apache 2.2.20 from Apache 2.4.23. s21.postimg.org/755di573r/coldfusion_server_variables.png You should be able to see that the update level is 21, this is the current latest patch for ColdFusion 10, and all patch levels are cumulative of previous releases. That means it includes ColdFusion 10 patch 19 which includes "Tomcat has been upgraded to version 7.0.68" and patch 18 "Tomcat has been upgraded to version 7.0.64... and bug fixes related to connector". – J. Doe Nov 17 '16 at 21:22
  • Let me see if I can get my Ops guys to look. Keep in mind, the issue may be Solaris dependencies. We are certainly running Apache 2.4 in places with CF 10 and 11. – Mark A Kruger Nov 17 '16 at 22:44
  • NOTE from my operations manager: -------------------------------------------------- [11/17/2016 5:16:39 PM] Wil Genovese: I had already worked out getting CF11 working again on my MacBook Pro with the latest Apache 2.4.23 just as he’s using on Solaris. So I had a head start on this [11/17/2016 5:17:11 PM] Wil Genovese: I removed my CF11 connectors from the apache config then ran the wsconfig for CF10 and restarted Apache and CF10 [11/17/2016 5:17:23 PM] Wil Genovese: I can run CF10 on Apache 2.4.23 just fine – Mark A Kruger Nov 18 '16 at 15:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.