Installing Oracle on Fedora 8
Nov 10, 2007 / By Raj Thukral
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: http://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
- 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
/tmpdirectory and find the
OraInstallXXXXdirectory that the installer left behind when it failed
- Rename it to
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.soin 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.)