Andrew Piskorski
atp at piskorski.com
Mon Nov 21 01:00:20 CST 2005
I've now tried the Oracle 10gR2 Java installer on a CentOS 4.2 x86-64
system - worked just fine there. More details here:
http://www.piskorski.com/ora/10g-ubuntu-transcript.txt
http://www.piskorski.com/ora/
Comparing the Ubuntu and CentOS 'strace -f' output shows some clear
differences but nothing that gives me any good ideas on why the Java
installer works just fine on CentOS but fails completely on Ubuntu.
E.g.:
CentOS opens these libraries which Ubuntu never even TRIES to open:
/lib64/libtermcap.so.2
/lib64/libpcre.so.0
And Ubuntu opens these libraries which Centos does not even try to
open:
/lib/libncurses.so.5
There are still some other things that look fishy to me though. In
particular, the stack trace the usual "Current locale is not
supported" error on Ubuntu includes these Java methods:
at sun.awt.motif.MWindowPeer.pSetTitle(Native Method)
at oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager.<init>(OiifmGraphicInterfaceManager.java:260)
And, AFAICT, these are the files (they ship with the Oracle Java
installer) which contain those methods:
$ find . -type f -print | xargs grep oracle.sysman.oii.oiif.oiifm.OiifmGraphicInterfaceManager
Binary file ./oui/jlib/OraInstaller.jar matches
$ find . -type f -print | xargs grep sun.awt.motif.MWindowPeer.pSetTitle
Binary file ./jre/1.4.2/lib/i386/libawt.so matches
$ ls -l ./oui/jlib/OraInstaller.jar ./jre/1.4.2/lib/i386/libawt.so
-rwxr-xr-x 1 andy dstaff 3059052 2005-04-06 08:27 ./jre/1.4.2/lib/i386/libawt.so
-rwxr-xr-x 1 andy dstaff 3787964 2005-06-22 03:50 ./oui/jlib/OraInstaller.jar
Yet, "libawt.so" does NOT appear in ANY of my strace -f output! Not
on Ubuntu, and not on CentOS either. How is that possible? A shared
library must be opened in some fashion in order to be used, right? So
why don't I see that happening? Since I don't see that, I suspect I
might be missing something else in the strace output as well,
something more important...
I also tried running 'ltrace -f', that works on CentOS. There, I do
see the string "libawt.so" appear several times, but solely in
strcmp(), strcat(), and similar string manipulation calls. Nothing
that would actually read or open a file of that name.
On Ubuntu, 'ltrace -f' simply exits quickly (after only 700 or so
lines of output) with the error:
[pid 3447] open("/db/cdroms/oracle/database/install/.oui", O_RDONLY) = 3
[pid 3447] lseek(3, 0, SEEK_END) = 163185
[pid 3447] mmap(NULL, 163185, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0x2aaaaaf11000
[pid 3447] write(2, "ltrace: ", 8ltrace: ) = 8
[pid 3447] write(2, "\"/db/cdroms/oracle/database/inst"..., 79"/db/cdroms/oracle/database/install/.oui" is ELF from incompatible architecture) = 79
$ file -L /db/cdroms/oracle/database/install/.oui
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for
GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
--
Andrew Piskorski <atp at piskorski.com>
http://www.piskorski.com/
More information about the ubuntu-devel
mailing list