Installing Oracle Service Bus on 64-bit Ubuntu 11.04
By Jeff Davies-Oracle on Aug 15, 2011
Sample Project: The File Protocol
I'm working on some more sample code for the Oracle Service Bus. The samples are available for download at http://soasamples.samplecode.oracle.com. I don't have the finished files posted there yet, but if you want to see the sample / tutorial in web video form, head on over to http://jeffdavies.org and check out the File Handling tutorial there. It covers a very common use case where OSB picks up a flat file from a directory (often created by a legacy system), converts the flat file into multiple XML files for individual processing. Its a common pattern for integrating batch systems into an SOA.
Installing OSB on 64-bit Ubuntu
I recently upgraded my laptop from 32-bit Ubuntu 10.04 to 64-bit 11.04. While reinstalling Oracle Service Bus (OSB) from the ofm_osb_generic_184.108.40.206.0_disk1_1of1.zip file, I got the following error message (after I invoked the runInstaller script and provided a path to my JDK):
Starting Oracle Universal Installer...
Checking if CPU speed is above 300 MHz. Actual 1199 MHz Passed
Checking Temp space: must be greater than 150 MB. Actual 186264 MB Passed
Checking swap space: must be greater than 512 MB. Actual 3952 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2011-08-15_11-04-25AM. Please wait ...
Please specify JRE/JDK location ( Ex. /home/jre ), <location>/bin/java should exist :/home/jeff/Oracle/Middleware/jdk160_24
jeff@jeff-Latitude-E6410:~/Disk1$ java.lang.UnsatisfiedLinkError: /tmp/OraInstall2011-08-15_11-04-25AM/oui/lib/linux64/liboraInstaller.so: /tmp/OraInstall2011-08-15_11-04-25AM/oui/lib/linux64/liboraInstaller.so: wrong ELF class: ELFCLASS64 (Possible cause: architecture word width mismatch)
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
There is a dependency on a 32 bit library. Fortunately, the solution for this was pretty simple. I needed to do 2 things to get the installer to work:
1) Install the 32-bit compatibility library using tyhe following command:
sudo apt-get install ia32-libs
2) Start the install script using the linux32 emulation utility. The command is as follows:
After that, the installation process proceeds normally.