/opt/opennms/bin/install -l /usr/lib -dis fails

Description

After following install and confirming at each step a modified version (/opt/opennms/bin/install -l /usr/lib -dis) pointing to the correct lib directory (validated) I am presented with failure to load libjicmp.co. Subsequent start of OpenNMS log file tails after install comments.

==============================================================================
OpenNMS Installer
==============================================================================

Configures PostgreSQL tables, users, and other miscellaneous settings.

  • searching for jicmp:

  • trying to load /usr/lib/libjicmp.so: NO

  • trying to load /usr/lib64/libjicmp.so: NO

  • trying to load /usr/lib64/libjicmp.so: NO

  • trying to load /usr/java/jdk1.6.0_38/jre/lib/amd64/server/libjicmp.so: NO

  • trying to load /usr/java/jdk1.6.0_38/jre/lib/amd64/libjicmp.so: NO

  • trying to load /usr/java/jdk1.6.0_38/jre/../lib/amd64/libjicmp.so: NO

  • trying to load /libjicmp.so: NO

  • trying to load /opt/opennms/lib/libjicmp.so: NO

  • trying to load /opt/opennms/lib/linux64/libjicmp.so: NO

  • trying to load /usr/java/packages/lib/amd64/libjicmp.so: NO

  • trying to load /usr/lib64/libjicmp.so: NO

  • trying to load /lib64/libjicmp.so: NO

  • trying to load /lib/libjicmp.so: NO

  • trying to load /usr/lib/libjicmp.so: NO

  • trying to load /usr/lib/jni/libjicmp.so: NO

  • trying to load /usr/lib/libjicmp.so: NO

  • trying to load /usr/local/lib/libjicmp.so: NO

  • trying to load /opt/NMSjicmp/lib/32/libjicmp.so: NO

  • trying to load /opt/NMSjicmp/lib/64/libjicmp.so: NO

  • trying to load /opt/NMSjicmp6/lib/32/libjicmp.so: NO

  • trying to load /opt/NMSjicmp6/lib/64/libjicmp.so: NO

  • Failed to load the optional jicmp library.

  • This error is not fatal, since jicmp is only required for optional features.

  • For more information, see http://www.opennms.org/index.php/jicmp

  • searching for jicmp6:

  • trying to load /usr/lib/libjicmp6.so: NO

  • trying to load /usr/lib64/libjicmp6.so: NO

  • trying to load /usr/lib64/libjicmp6.so: NO

  • trying to load /usr/java/jdk1.6.0_38/jre/lib/amd64/server/libjicmp6.so: NO

  • trying to load /usr/java/jdk1.6.0_38/jre/lib/amd64/libjicmp6.so: NO

  • trying to load /usr/java/jdk1.6.0_38/jre/../lib/amd64/libjicmp6.so: NO

  • trying to load /libjicmp6.so: NO

  • trying to load /opt/opennms/lib/libjicmp6.so: NO

  • trying to load /opt/opennms/lib/linux64/libjicmp6.so: NO

  • trying to load /usr/java/packages/lib/amd64/libjicmp6.so: NO

  • trying to load /usr/lib64/libjicmp6.so: NO

  • trying to load /lib64/libjicmp6.so: NO

  • trying to load /lib/libjicmp6.so: NO

  • trying to load /usr/lib/libjicmp6.so: NO

  • trying to load /usr/lib/jni/libjicmp6.so: NO

  • trying to load /usr/lib/libjicmp6.so: NO

  • trying to load /usr/local/lib/libjicmp6.so: NO

  • trying to load /opt/NMSjicmp/lib/32/libjicmp6.so: NO

  • trying to load /opt/NMSjicmp/lib/64/libjicmp6.so: NO

  • trying to load /opt/NMSjicmp6/lib/32/libjicmp6.so: NO

  • trying to load /opt/NMSjicmp6/lib/64/libjicmp6.so: NO

  • Failed to load the optional jicmp6 library.

  • This error is not fatal, since jicmp6 is only required for optional features.

  • For more information, see http://www.opennms.org/index.php/jicmp6

  • searching for jrrd:

  • trying to load /usr/lib/libjrrd.so: NO

  • trying to load /usr/lib64/libjrrd.so: NO

  • trying to load /usr/lib64/libjrrd.so: NO

  • trying to load /usr/java/jdk1.6.0_38/jre/lib/amd64/server/libjrrd.so: NO

  • trying to load /usr/java/jdk1.6.0_38/jre/lib/amd64/libjrrd.so: NO

  • trying to load /usr/java/jdk1.6.0_38/jre/../lib/amd64/libjrrd.so: NO

  • trying to load /libjrrd.so: NO

  • trying to load /opt/opennms/lib/libjrrd.so: NO

  • trying to load /opt/opennms/lib/linux64/libjrrd.so: NO

  • trying to load /usr/java/packages/lib/amd64/libjrrd.so: NO

  • trying to load /usr/lib64/libjrrd.so: NO

  • trying to load /lib64/libjrrd.so: NO

  • trying to load /lib/libjrrd.so: NO

  • trying to load /usr/lib/libjrrd.so: NO

  • trying to load /usr/lib/jni/libjrrd.so: NO

  • trying to load /usr/lib/libjrrd.so: NO

  • trying to load /usr/local/lib/libjrrd.so: NO

  • trying to load /opt/NMSjicmp/lib/32/libjrrd.so: NO

  • trying to load /opt/NMSjicmp/lib/64/libjrrd.so: NO

  • trying to load /opt/NMSjicmp6/lib/32/libjrrd.so: NO

  • trying to load /opt/NMSjicmp6/lib/64/libjrrd.so: NO

  • Failed to load the optional jrrd library.

  • This error is not fatal, since jrrd is only required for optional features.

  • For more information, see http://www.opennms.org/index.php/jrrd

  • using SQL directory... /opt/opennms/etc

  • using create.sql... /opt/opennms/etc/create.sql

  • using 'postgres' as the PostgreSQL user for OpenNMS

  • using 'opennms' as the PostgreSQL database name for OpenNMS

  • checking if database "opennms" is unicode... ALREADY UNICODE

  • Creating imports directory (/opt/opennms/etc/imports... OK

  • Checking for old import files in /opt/opennms/etc... DONE

  • Running migration for changelog: URL [jar:file:/opt/opennms/lib/org.opennms.core.schema-1.11.3-liquibase.jar!/changelog.xml]

Logfile
_________________________________________________________________________________

Tue Jan 22 11:36:01 CST 2013
begin ulimit settings:
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 71680
max locked memory (kbytes, -l) 32
max memory size (kbytes, -m) unlimited
open files (-n) 20480
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 71680
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
end ulimit settings
Executing command: /opt/opennms/bin/runjava -r – -Djava.endorsed.dirs=/opt/opennms/lib/endorsed -Dopennms.home=/opt/opennms -Dcom.sun.management.jmxremote.port=18980 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Xmx512m -XX:+HeapDumpOnOutOfMemoryError -XX:MaxPermSize=256m -jar /opt/opennms/lib/opennms_bootstrap.jar start
[DEBUG] System property 'opennms.library.jicmp' not set. Attempting to load library using System.loadLibrary("jicmp").
[DEBUG] System property 'opennms.library.jicmp' not set. Attempting to load library using System.loadLibrary("jicmp").
[DEBUG] System property 'opennms.library.jicmp6' not set. Attempting to load library using System.loadLibrary("jicmp6").
[DEBUG] System property 'opennms.library.jicmp6' not set. Attempting to load library using System.loadLibrary("jicmp6").
An error occurred while attempting to start the "OpenNMS:Name=TestLoadLibraries" service (class org.opennms.netmgt.vmmgr.Manager). Shutting down and exiting.
javax.management.RuntimeErrorException: java.lang.UnsatisfiedLinkError: /usr/lib64/libjicmp6.so: /usr/lib64/libjicmp6.so: ELF file OS ABI invalid
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrow(DefaultMBeanServerInterceptor.java:858)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.rethrowMaybeMBeanException(DefaultMBeanServerInterceptor.java:869)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:838)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)
at org.opennms.netmgt.vmmgr.Invoker.invoke(Invoker.java:316)
at org.opennms.netmgt.vmmgr.Invoker.invokeMethods(Invoker.java:239)
at org.opennms.netmgt.vmmgr.Starter.start(Starter.java:245)
at org.opennms.netmgt.vmmgr.Starter.startDaemon(Starter.java:116)
at org.opennms.netmgt.vmmgr.Controller.start(Controller.java:190)
at org.opennms.netmgt.vmmgr.Controller.main(Controller.java:162)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.opennms.bootstrap.Bootstrap$3.run(Bootstrap.java:346)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.UnsatisfiedLinkError: /usr/lib64/libjicmp6.so: /usr/lib64/libjicmp6.so: ELF file OS ABI invalid
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1732)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at org.opennms.protocols.icmp6.ICMPv6Socket.<init>(ICMPv6Socket.java:102)
at org.opennms.netmgt.icmp.jni6.Jni6IcmpMessenger.<init>(Jni6IcmpMessenger.java:62)
at org.opennms.netmgt.icmp.jni6.Jni6Pinger.initialize6(Jni6Pinger.java:153)
at org.opennms.netmgt.vmmgr.Manager.testPinger(Manager.java:244)
at org.opennms.netmgt.vmmgr.Manager.doTestLoadLibraries(Manager.java:211)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:93)
at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:27)
at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:208)
at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:120)
at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:262)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)
... 13 more

Environment

RHEL 6 64bit

Acceptance / Success Criteria

None

Lucidchart Diagrams

Activity

Show:

Alejandro Galue August 8, 2013 at 3:33 PM

John,

I agree with Ben. It looks like you are using the wrong jicmp libraries.

I just installed the latest snapshot of 1.11.94 RPMs on a VM with CentOS 6.4 x86_64, PostgreSQL 9.1 and latest Oracle JDK 7, and everything is working for me:

As you can see, the architecture match in both cases.

Benjamin Reed July 18, 2013 at 12:20 PM

What do you get from running these two commands?

uname -a
rpm -qa | grep -i jicmp

Configuration

Details

Assignee

Reporter

Labels

Original estimate

Time tracking

No time logged5h remaining

Components

Affects versions

Priority

PagerDuty

Created January 22, 2013 at 12:38 PM
Updated August 13, 2013 at 4:25 PM
Resolved August 13, 2013 at 4:25 PM