Yesterday evening, a friend of mine asked me if I know how to install ColdFusion 5.0 on a up-to-date openSuse system. After some fiddling around, I indeed found a way to get it running, but let’s start from the beginning:The main problem is: it simply won’t run out of the box because of the following facts:
-openSuse comes with a 2.2.x Apache
-The apache module shipped with CF is for Apache 1.3.x only
-Adobe offers a 2.0.x module, but no 2.2.x one
-Nextron.ch has a custom built 2.0.4x module that also won’t run on 2.2.x Apaches
So finally, I decided to manually compile the latest 1.3 Apache (1.3.37, wohoo! 1337!), which at least swallowed the standard module shipped with CF. So far, so good, next problem:
-CF refused to start
Well, it wasn’t exactly /bin/cfserver that didn’t start, it was the “start” shell script that fires /bin/cfexec returning “/opt/coldfusion/bin/cfexec: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory”.
Guess what, assuming that you can trust ldd, the libraries were all there:
ldd cfexec
linux-gate.so.1 => (0xffffe000)
libcfdataaccess.so => /usr/lib/coldfusion/libcfdataaccess.so (0xb7f2b000)
libporting.so => /usr/lib/coldfusion/libporting.so (0xb7ea2000)
libdl.so.2 => /usr/lib/coldfusion/libdl.so.2 (0xb7e9e000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7e7c000)
libstdc++-libc6.1-1.so.2 => /usr/lib/libstdc++-libc6.1-1.so.2 (0xb7e33000)
libm.so.6 => /lib/libm.so.6 (0xb7e0d000)
libc.so.6 => /lib/libc.so.6 (0xb7cdf000)
/lib/ld-linux.so.2 (0xb7fba000)
So after some pointless trying and debugging (the error message led me into a totally wrong direction), I noticed that the start script does this…
ENV_LIST=”$ENV_LIST LD_ASSUME_KERNEL=2.2.5″
…which reminded me of a SLES10/CFMX7 install I had to do lately. Those of you who ever had to install CFMX7 on a SLES10 machine know that you need to “patch” the installer file by commenting out the “export LD_ASSUME_KERNEL” line inside, so I gave it a try:
ENV_LIST=”$ENV_LIST” #LD_ASSUME_KERNEL=2.2.5″
…and bingo, CF starts.
To sum it up:
-Preferably use a 1.3 or 2.0 Apache
-Install CF as usual
-Change {cfhome}/bin/start as stated above
Easy if you know it, but a pain to figure out 😉
Yes, that sounds very interesting and very frustrating.
Kudos to you for figuring it out.
Dan Wilson
Other options include using a virtual machine (VMWare / Xen / the para-virtualisation stuff in newer kernels), or using Apache or Squid as a proxy to the built in CF server rather than rebuild the connector.
That’s all fins and dandy but… CF5?! geeze hehe
btw thanks for the heads up on the pitfalls in installing 5 on SUSE
Comments on this entry are closed.