After compiling Tomcat Native (that comes with Tomcat 9.0.62, version 1.2.32) 
on a (ARM) M1 Mac (with Amazon Coretto 11 JDK, APR, and OpenSSL 1.1.1n), I get 
the following error in Catalina.out:

05-Apr-2022 11:10:32.307 WARNING [main] 
org.apache.catalina.core.AprLifecycleListener.init The Apache Tomcat Native 
library failed to load. The error reported was 
[/Library/Java/Extensions/libtcnative-1.0.dylib: 
dlopen(/Library/Java/Extensions/libtcnative-1.0.dylib, 0x0001): tried: 
'/Library/Java/Extensions/libtcnative-1.0.dylib' (mach-o file, but is an 
incompatible architecture (have 'arm64', need 'x86_64')), 
'/usr/lib/libtcnative-1.0.dylib' (no such file)]
                java.lang.UnsatisfiedLinkError: 
/Library/Java/Extensions/libtcnative-1.0.dylib: 
dlopen(/Library/Java/Extensions/libtcnative-1.0.dylib, 0x0001): tried: 
'/Library/Java/Extensions/libtcnative-1.0.dylib' (mach-o file, but is an 
incompatible architecture (have 'arm64', need 'x86_64')), 
'/usr/lib/libtcnative-1.0.dylib' (no such file)

Note: After I compiled Native, I did the following (we did this in the past but 
I don’t know if it is still required):

  1.  cp 
/usr/local/tomcat/bin/tomcat-native-1.2.32-src/native/.libs/libtcnative-1.0.dylib
 /Library/Java/Extensions
  2.  cd /Library/Java/Extensions
  3.  ln -sfhv libtcnative-1.0.dylib libtcnative-1.dylib
  4.  ln -sfhv libtcnative-1.dylib libtcnative-1.jnilib
(Not sure if this is needed anymore…)

Does anyone have instructions for compiling Native on an ARM-based Mac? Or 
suggestions around this issue?

Thank you,

Brian

Reply via email to