AIX: ENOEXEC unresolved symbols or invalid XCOFF header
Problem Description
——————-
You are attempting to install Oracle8i on an AIX system. You
have verified that you are able to run X Windows programs like
/usr/bin/X11/xclock. You change to the cdrom directory where
Oracle8i is mounted and run the command “./runInstaller” and
answer “y” to the prompt:
Has ‘rootpre.sh’ been run by root? [y/n] (n)
After a brief moment, a message similar to the following is
displayed:
Initializing Java Virtual Machine from ../stage/Components
/oracle.swd.jre/1.1.8.3/1/DataFiles/Expanded/jre/aix/bin/jre.
Please wait…
Warning: JIT compiler “none” not found. Will use interpreter.
java.lang.UnsatisfiedLinkError: Found /releases/rdbms/32bit
/816/stage/Components/oracle.swd.jre/1.1.8.3/1/DataFiles
/Expanded/jre/aix/lib/aix/native_threads/libawt.a but could
not load it
ENOEXEC: unresolved symbols or invalid XCOFF header
30 /releases/rdbms/32bit/816/stage/Components/oracle.swd.jre
/1.1.8.3/1/DataFiles/Expanded/jre/aix/lib/aix/native_threads/libawt.
36 _XmStrings 44 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmGetFocusWidget 64 /usr/lpp/X11/lib/libXm.a shr4.o
36 _XmGetMenuState 68 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmStringCreateLocalized 78 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmListPosSelected 83 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmFontListEntryLoad 90 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmFontListAppendEntry 91 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmFontListEntryFree 92 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmGetTearOffControl 93 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmFontListNextEntry 119 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmFontListEntryGetFont 120 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmFontListEntryGetTag 121 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmChangeColor 124 /usr/lpp/X11/lib/libXm.a shr4.o
36 XmFontListEntryCreate 129 /usr/lpp/X11/lib/libXm.a shr4.o
36 XOpenIM 198 /usr/lpp/X11/lib/libX11.a shr4.o
36 XCreateIC 199 /usr/lpp/X11/lib/libX11.a shr4.o
36 XSetICFocus 200 /usr/lpp/X11/lib/libX11.a shr4.o
36 XFilterEvent 201 /usr/lpp/X11/lib/libX11.a shr4.o
36 XmbLookupString 202 /usr/lpp/X11/lib/libX11.a shr4.o
36 XGetICValues 236 /usr/lpp/X11/lib/libX11.a shr4.o
36 XSetICValues 237 /usr/lpp/X11/lib/libX11.a shr4.o
36 XmbResetIC 238 /usr/lpp/X11/lib/libX11.a shr4.o
36 XUnsetICFocus 239 /usr/lpp/X11/lib/libX11.a shr4.o
36 XDestroyIC 240 /usr/lpp/X11/lib/libX11.a shr4.o
36 XGetIMValues 241 /usr/lpp/X11/lib/libX11.a shr4.o
36 XCloseIM 242 /usr/lpp/X11/lib/libX11.a shr4.o
36 XtStrings 247 /usr/lpp/X11/lib/libXt.a shr4.o
36 XtShellStrings 248 /usr/lpp/X11/lib/libXt.a shr4.o
36 _XtToolkitInitialize 255 /usr/lpp/X11/lib/libXt.a shr4.o
36 _XtInitialize 256 /usr/lpp/X11/lib/libXt.a shr4.o
36 XtCreateWidget 257 /usr/lpp/X11/lib/libXt.a shr4.o
36 XtCreatePopupShell 258 /usr/lpp/X11/lib/libXt.a shr4.o
36 _XtAppInitialize 259 /usr/lpp/X11/lib/libXt.a shr4.o
36 XtAppCreateShell 260 /usr/lpp/X11/lib/libXt.a shr4.o
36 XtVaCreateManagedWidget 305 /usr/lpp/X11/lib/libXt.a shr4.o
at java.lang.Runtime.loadLibrary(Runtime.java)
at java.lang.System.loadLibrary(System.java)
at
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:394)
at oracle.sysman.oii.oiif.oiifm.OiifmSplashScreen.getImage(OiifmSplashScreen.java:67)
at oracle.sysman.oii.oiif.oiifm.OiifmSplashScreen.(OiifmSplashScreen.java:45)
at oracle.sysman.oii.oiic.OiicInstaller.main(OiicInstaller.java:417)
Solution Description
——————–
You should remove /usr/lpp/X11/lib from the environment variable LIBPATH.
To remove it from the current environment, use this command:
LIBPATH=`echo $LIBPATH | sed “s/\/usr\/lpp\/X11\/lib//g”`
export LIBPATH
Explanation
———–
LIBPATH is an environment variable which determines where AIX will
look for libraries loaded dynamically at run time. The normal
directory AIX searches for dynamically loaded libraries is /usr/lib
and /lib or the value of LIBPATH. If you include /usr/lpp/X11/lib
in LIBPATH and have loaded the X11 compatibility libraries, then
runInstaller will attempt to use the older incompatible libraries.