java.lang.UnsatisfiedLinkError: /opt/WebSphere/AppServer/java/jre/bin/libawt.so: libXmu.so.6

Excuse me for titling a post with an exception! Now that I have your attention…..

I’m doing a bit of work on Portal 6.0.  for a customer, and have installed my test environment on Redhat Enterprise 5.3 . I don’t often use a GUI for these machines and sometimes run into problems. On this one I ran the configure-wcm-authoring WPSConfig.sh task but navigated to the WCM Authoring Portlet and found a blank page. The portlet was on the page, but it wasn’t being rendered. A quick look through the SystemErr.log show the culprit:

[4/1/09 16:10:39:329 EST] 00000084 SystemErr     R java.lang.UnsatisfiedLinkError: /opt/WebSphere/AppServer/java/jre/bin/libawt.so: libXmu.so.6: cannot open shared object file: No such file or directory
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2144)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:2004)
at java.lang.Runtime.loadLibrary0(Runtime.java:824)
at java.lang.System.loadLibrary(System.java:910)
at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:76)
at java.security.AccessController.doPrivileged1(Native Method)
at java.security.AccessController.doPrivileged(AccessController.java(Compiled Code))
at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:81)
at java.awt.Color.<clinit>(Color.java:280)
at com.ibm.psw.uil.nls.UilCommonResources.<clinit>(UilCommonResources.java:246)
at com.ibm.psw.uil.util.UilStatusInfoHelper$ESIData.<init>(UilStatusInfoHelper.java:1153)
at com.ibm.psw.uil.util.UilStatusInfoHelper.<clinit>(UilStatusInfoHelper.java:997)
at com.ibm.psw.wcl.components.table.WTable.createDefaultClassComparators(WTable.java:1007)
at com.ibm.psw.wcl.components.table.WTable.<init>(WTable.java:733)
at com.ibm.psw.wcl.components.table.WTable.<init>(WTable.java:707)
at com.ibm.psw.wcl.components.table.WTable.<init>(WTable.java:664)
at com.ibm.workplace.wcm.app.ui.portlet.widget.WBasicTable.<init>(WBasicTable.java:80)
at com.ibm.workplace.wcm.app.ui.portlet.widget.WRepositoryBrowserTable.<init>(WRepositoryBrowserTable.java:131)
at com.ibm.workplace.wcm.app.ui.portlet.widget.WRepositoryBrowser.createTable(WRepositoryBrowser.java:304)
at com.ibm.workplace.wcm.app.ui.portlet.widget.WRepositoryBrowser.initialise(WRepositoryBrowser.java:210)
at com.ibm.workplace.wcm.app.ui.portlet.widget.WRepositoryBrowser.<init>(WRepositoryBrowser.java:127)
at com.ibm.workplace.wcm.app.ui.portlet.core.view.MainRepositoryFormView.getRepositoryBrowser(MainRepositoryFormView.java:383)
at com.ibm.workplace.wcm.app.ui.portlet.core.view.MainRepositoryFormView.getRepositoryBrowserTable(MainRepositoryFormView.java:435)
at com.ibm.workplace.wcm.app.ui.portlet.basic.PageManager.getRepositoryTable(PageManager.java:468)

WRepositoryBrowser is the class that renders the main view of the authoring portlet. Looks like it requires some extra packages to work if you haven’t installed xorg with your Redhat Server. A quick search of pbone.net reveals I need two additional packages: libXmu-1.0.2-5.i386.rpm and libXtst-1.0.1-3.1.i386.rpm .  I always install compat-libstdc++-296, compat-libstdc++-33 and libXp on Redhat 5 machines as well. (I think if you don’t have  libXp you get a pretty similar error). I hadn’t seen this specific one before, I think it’s because I used the ‘skipx’ directive in the kickstart file for the machine. Long story short, install those packages on your headless redhat machine.

I think this problem isn’t limited to Portal either. When I was trying to install IBM Http Server on the same machine, I kept getting the same error when the Install Shield installer would load (in -console mode, no less), so I guess it would be good to install these packages whenever you’re going to use Java Apps and use the skipx parameter.

This entry was posted in howto and tagged , , , . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *