Installing Oracle on Fedora 8

Posted in: Technical Track

Apparently somebody who reads blogs regularly found one that said it Fedora 8 bombed because he couldn’t install oracle on it. So I took on the challenge.

I have to say installing Fedora 8 was the most difficult part of the challenge. C’mon guys, after giving us Fedora 1,2,3,4,5,6 and 7, you give us this beautiful shiny new release, complete with a 2.6.23 kernel and you couldn’t write a half-decent bug-free installer? I had to abandon the upgrade from Fedora 7 on my laptop and resort to a full new install. Of course I backed up my home dir and stuff so I could quickly get back my working configs and settings and my laptop is back in business.. but I digress.

xcb_xlib.c:50: xcb_xlib_unlock: Assertion 'c->xlib.lock' failed.

Thats the problem when you try to run the oracle installer on Fedora 8. Apparently its a bug with either Java or with the X libraries or just the way they interact, with blame being shifted around. See this wonderful thread: https://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6532373

The workaround given is to patch the libmawt.so with sed (!). The link above has all the gory details, but how do you do it for the oracle installer? The jre is compressed and there is no libmawt.so or any other .so to be found..

Here’s how in a nutshell (this was on Fedora 8 x86_64 but I see no reason why it would not work on i386):

  • Install the required packages as for Fedora 7
  • Set up the kernel prerequisites etc. as for Fedora 7
  • Edit /etc/redhat-release to read redhat-4
  • Startup the installer. it will fail with the famous xcb_xlib.c:50: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.
  • Now go to the /tmp directory and find the OraInstallXXXX directory that the installer left behind when it failed
  • Rename it to jre under /tmp (cd /tmp; mv OraInstallXXXX jre)
  • Now run this: cd /tmp/jre/jre/1.4.2/lib/i386; sed -i 's/XINERAMA/FAKEEXTN/g' libawt.so (yes, its libawt.so in this jre, not libmawt.so, it’s not a typo)
  • Go back to oracle software directory
  • Now run the installer again with the ‘patched’ jre that you just set up:
    ./runInstaller -jreLoc /tmp/jre/jre/1.4.2/

And bingo! the installer will start and you can install oracle as usual. Enjoy!

(You could also just run the installer under a different jre by changing the argument to -jreLoc, but I couldn’t find one that worked and the installer tends to be fussy, so its easiest to just stick with the oracle supplied version.)

–Raj.

email

Author

Want to talk with an expert? Schedule a call with our team to get the conversation started.

About the Author

Raj has been managing and guiding highly effective teams for over 20 years. Raj combines strong leadership skills with a deeply technical background in IT consulting to bring tailored and efficient technology solutions to Pythian. Additionally, his focus on data security has helped Pythian meet and often exceed client and regulatory requirements. Prior to joining Pythian in 2003, Raj held various leadership positions with a proven record of success. He has a degree in Industrial Engineering and has worked in multiple IT and engineering fields.

5 Comments. Leave new

I found it slightly different. After renaming to jre go here:

cd /tmp/jre/jdk/jre/lib/i386/xawt

then

sed -i ‘s/XINERAMA/FAKEEXTN/g’ libmawt.so

then

runInstaller -jerLoc /tmp/jre/jdk/jre

That worked for me and Oracle 11.1.0.6 is running sweet on Fedora 8

Reply

Oh and P.S:

After Oracle has installed you need to sed the libmawt.so file here too:

cd /u01/app/oracle/product/11.1.0/db_1/jdk/jre/lib/i386/xawt

Also, above, the last line should read

runInstaller -jreLoc /tmp/jre/jdk/jre

Reply

There is other solution: beside all required by Oracle Installer packages you should also install package named libXp and start installer normally (without any arguments).
It worked for fedora 8 and both Oracle 10gR2 and 11g on my machines.

(Sorry, I don’t remember the source of this solution – it’s not mine)

Regards

Reply

You could try ./runInstaller -jreLoc /usr/lib/jvm/jre after implementing groups and users.

I think it is much easier if this command work

Reply

Gr8 this is very helpful
thanks and keep bloging

Reply

Leave a Reply

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