The biggest challenge when working with 64 bit installations is to ensure that all components pick up the correct libraries. While doing a 64 bit installation of Weblogic Portal recently, my nodemanager refused to start.
While starting the node manager, following error message is thrown:
weblogic.nodemanager.common.ConfigException: Native version is enabled but node manager native library could not be loaded
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:239)
at weblogic.nodemanager.server.NMServerConfig.(NMServerConfig.java:179)
at weblogic.nodemanager.server.NMServer.init(NMServer.java:176)
at weblogic.nodemanager.server.NMServer.(NMServer.java:141)
at weblogic.nodemanager.server.NMServer.main(NMServer.java:337)
at weblogic.NodeManager.main(NodeManager.java:31)
Caused by: java.lang.UnsatisfiedLinkError: /opt/oracle/product/middleware/wlserver_10.3/server/native/solaris/sparc64/libnodemanager.so: ld.so.1: java: fatal: /opt/oracle/product/middleware/wlserver_10.3/server/native/solaris/sparc64/libnodemanager.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1728)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at weblogic.nodemanager.util.UnixProcessControl.(UnixProcessControl.java:24)
at weblogic.nodemanager.util.Platform.getProcessControl(Platform.java:114)
at weblogic.nodemanager.server.NMServerConfig.initProcessControl(NMServerConfig.java:237)
Cause.
This error occurs because of mismatch of libraries being loaded at runtime. The OS is 64 bit; therefore the client (node manager) should be started as a 64 bit client. For some reason, the startNodeManager.sh script did not had the “-d64” flag in the java options, hence this error.
Fix.
Edit the startNodeManager.sh script and add the “-d64” option to JAVA_VM variable.
JAVA_VM="-d64 ${JAVA_VM}
Restart the Node manager and it should start normally.
I added it to after the unset JVM line, but doesn't work for me:/
ReplyDeleteI didn't find the JAVA_VM variable in startNodeManager.sh :(
ReplyDeletewhat version of Weblogic are you using
Delete