Skip to content
Advertisement

tomcat 5 java.lang.UnsatisfiedLinkError: tomcatapache-tomcat-5.5.36bintcnative-1.dll: Can’t load IA 32-bit .dll on a AMD 64-bit platform

I am on a brand new laptop, so it only has stuff I have installed on it in the last week, so i am pretty certain it doesn’t have old stuff hanging around.

This is rather large as i have tried to include EVERYTHING.

my java home is pointing to a 64 bit java 8, but because of “stuff” (TM) we are having to run ancient tomcat and java 6 for for our client. I have installed: jdk1.6.0_45 and jdk1.8.0_151 (which is my java_home version)

as you can see above I am using tomcat 5.5.36. And I am making the presumption that as it only has x64 directories it is a 64 bit tomcat. The tcnative.dll in this directory is the one from x64 (the file contents when looked at in 7zip match)

JavaScript

my catalina.bat file has

JavaScript

here is the full exception in case you haven’t seen it before

JavaScript

I have searched my entire C drive and that dll is only in 3 places my C drive

Advertisement

Answer

The ZIP file for Tomcat 5.5.36 contains native libraries for IA32, IA64, and x86-64 architectures. The DLL file in Tomcat’s bin directory is almost certainly the IA32 one.

You’ll want to rename tcnative-1.dll to something like tcnative-1.dll.ia32 and then copy x64/tcnative-1.dll into bin in place of the one that was there previously.

Restart Tomcat and you should be up and running.

Tell the source of “stuff (TM)” that Tomcat 5.5 has long been EOL’d and both it and Java 6 likely have unpatched, publicly-known security vulnerabilities. Don’t be the next Equifax.

Advertisement