Monday, April 16, 2012

Run rcu.sh on a 64bit CentOS machine: rcuHome/jdk/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory (A workaround)

Hi,

I started creating a new Virtual Machine on my VirtualBox.
I decided to setup a machine with an oracle XE 11.2 along with the full Christmas Bonus. Weblogic 10.3.6/SOA.. the works..

So, I installed my 64Bit Cent OS 6.
Then I installed my 64biy java.. (ofcourse..)


Then, I installed Oracle XE.. Everything ok.

I installed weblogic standalone.. fine.

Then, I tried to installed the SOA schemas through rcu.. RCU is a powerful tool that really  helps when it comes to install and manage all the schemas needed for our Fusion Middleware development
http://docs.oracle.com/cd/E12839_01/doc.1111/e14259/rcu.htm

So, I downloaded rcu from Oracle's site:
Of course, the option is for 32bit JVM only.

http://www.oracle.com/technetwork/middleware/soasuite/downloads/index.html

And of course, it did not work.. I got an exception similar to the following:


So, I googled a bit, I even installed some libraries to my CentOs.. but no use.

A very useful article is the following:
https://blogs.oracle.com/tejas/entry/running_rcu_on_oel_linux

The above article explains how to install the rcu in the silent mode, passing all the parameters needed.

The above was a bit complicated for me so I decided to run the rcu from another 32bit Ubuntu Virtual Machine. Everything went fine.

However, I would really like to run rcu in my CentOs in my 64bit machine and I would really like to have some graphical user interface while installing the schemas.. I mean, I am not that good in understanding all the parameters in the silent mode mentioned in the above link.. Even though it might be a really good practice to do so, still, I would like to have my graphical user interface..

So I start digging a bit more..
I checked the rcu.sh file and I saw that it is using it's own jdk.. which, in my case is not suitable to start the graphical user interface.

So, how would I change the jdk to be used??

One approach would be to change the rcu.sh script.. but of course, this goes against the policies and after all the file is not mine to change at will. Bad things might happen....... :)

(Although, it seems rather easy to do so.. it is just a variable.. but I did not do it.)

A second approach would be to change the bundled jdk that comes with the zip file of rcu..

So, I just renamed the jdk file of the rcuHome file to jdk_old and then, I copied my INSTALLED jdk folder and pasted it to the rcuHome. I renamed it to jdk  of course, and I rerun the script.

It worked just fine. All my grrRRRRRRrraphical user interface was there.. Shiny with it's PlastikLookAndFeel!

I did all the steps properly
After that, I reverted my changes and run the script again. The problem was there! So there is a small question in my head that I would like to share it with you...

Why rcu comes bundled with a jdk?  And if it is.. why cant we set the jdk path as a parameter in order to be able to run it with a 64bit one?  (At least, I could not find a way. If you have one, please share!)


DISCLAIMER:
THIS POST HAS NO INTENSION OF ALTERING IN ANY WAY THE OFFICIAL DOWNLOADABLE CONTENT OF RCU FROM ORACLE SITE AND IT IS NOT IN THE INTENTION OF THE AUTHOR TO PROMOTE SUCH BEHAVIORS. THIS IS A PURE ILLUSTRATIVE EXPLANATION OF THE FOLDER STRUCTURE OF THE RCU ZIP FILE.
THE CORRECT APPROACH IN THIS PROBLEM WOULD BE TO RUN THE RCU INSTALLER FROM 32BIT JVM AS IT CLEARLY STATED ON THE SITE.

Regards.







2 comments:

  1. Dude you are born to debug.

    It helped me too.

    ReplyDelete

LinkWithin

Related Posts Plugin for WordPress, Blogger...