The APR based Apache Tomcat Native library ... was not found (but I have it)

12,892

I had a similar problem working in Debian and I fixed it using:

apt-get install libtcnative-1 

and uncommenting APRLifecycleListener in server.xml.

Share:
12,892
Neil Walker
Author by

Neil Walker

Updated on July 14, 2022

Comments

  • Neil Walker
    Neil Walker almost 2 years

    I'm running some software and getting the following error regarding apr not being found. I saw that it wasn't there, so went to the apr folder, ran ./configure and ./make and ./make install.

    It created files in /usr/local/apr/lib.

    I then created the folder mentioned in the Tomcat log:

    /root/Kony/KonyServer/tomcat/instance1/bin/tomcat-native-1.1.29-src/jni/native/.libs
    

    and copied the files in here:

    -rwxrwxrwx. 1 10848 10848    8351 Apr 13 19:35 apr.exp
    -rwxrwxrwx. 1 10848 10848 1352604 Apr 13 19:35 libapr-1.a
    -rwxrwxrwx. 1 10848 10848     826 Apr 13 19:35 libapr-1.la
    -rwxrwxrwx. 1 10848 10848  736579 Apr 13 19:35 libapr-1.so
    -rwxrwxrwx. 1 10848 10848  736579 Apr 13 19:35 libapr-1.so.0
    -rwxrwxrwx. 1 10848 10848  736579 Apr 13 19:35 libapr-1.so.0.4.5
    

    I even gave them a 777 mask and the owner/group matches the parent. It still gives me the error below.

    Apr 13, 2015 7:46:42 PM org.apache.catalina.core.AprLifecycleListener init
    INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /root/Kony/KonyServer/tomcat/instance1/bin/tomcat-native-1.1.29-src/jni/native/.libs
    Apr 13, 2015 7:46:43 PM org.apache.catalina.core.StandardService initInternal
    SEVERE: Failed to initialize connector [Connector[HTTP/1.1-8085]]
    org.apache.catalina.LifecycleException: Failed to initialize component [Connector[HTTP/1.1-8085]]
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:106)
        at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:813)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:638)
        at org.apache.catalina.startup.Catalina.load(Catalina.java:663)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:606)
        at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:280)
        at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:454)
    Caused by: org.apache.catalina.LifecycleException: The configured protocol [org.apache.coyote.http11.Http11AprProtocol] requires the APR/native library which is not available
        at org.apache.catalina.connector.Connector.initInternal(Connector.java:972)
        at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
        ... 12 more
    
    Apr 13, 2015 7:46:43 PM org.apache.coyote.AbstractProtocol init
    INFO: Initializing ProtocolHandler ["ajp-bio-8010"]
    Apr 13, 2015 7:46:43 PM org.apache.catalina.startup.Catalina load
    INFO: Initialization processed in 2752 ms
    Apr 13, 2015 7:46:44 PM org.apache.catalina.core.StandardService startInternal
    INFO: Starting service Catalina
    Apr 13, 2015 7:46:44 PM org.apache.catalina.core.StandardEngine startInternal
    INFO: Starting Servlet Engine: Apache Tomcat 7.0.x-dev
    Apr 13, 2015 7:46:44 PM org.apache.catalina.startup.HostConfig deployDescriptor
    INFO: Deploying configuration descriptor /root/Kony/KonyServer/tomcat/instance1/conf/Catalina/localhost/admin.xml
    

    Can anyone offer any help?

  • tronic
    tronic almost 7 years
    On Ubuntu >sudo ln -sv /usr/lib/x86_64-linux-gnu/libtcnative-1.so /usr/lib/
  • Admin
    Admin over 6 years
    Thanks pagetronic, on Ubuntu, even with libtcnative-1 installed I needed that symbolic link for APR to start correctly
  • pbms
    pbms almost 4 years
    thanks @tronic. sudo ln -sv /usr/lib/x86_64-linux-gnu/libtcnative-1.so /usr/lib/ this worked for me!