On Tue, 9 Dec 2003 14:59:35 -0500 David Muse <david.muse@xxxxxxxxxxxxxx> wrote: > Hello All, hello, > > I've seen a bit of discussion on the list about this, but no solution yet. > > I tried to install Oracle 9iR2 on Fedora Core 1 and ran into the __libc_wait not found problem after running runInstaller. > > It appears that the Oracle 9iR2 installer uses whatever JRE is specified by JRE_LOCATION in Disk1/install/linux/oraparam.ini. By default, JRE_LOCATION is set to JRE 1.3.1 which is included with the Oracle 9iR2 distribution. JRE 1.3.1 uses __libc_wait which is supposed to be private, but was left public in previous releases because a few programs relied on it. Fedora Core 1 makes this symbol private (as it should be) and the JRE can't run without it. > > Apparantly j2sdk-1.4.2_02 is fixed and doesn't require __libc_wait, so I tried installing it and changing JRE_LOCATION to point to /usr/java/j2sdk1.4.2_02. The installer runs for a while, but ultimately gets really confused and exits. > j2sdk 1.4.2 doesn't work, you must use 1.3.1 (I use jre1.3.1_09) and I modify the Disk1/install/linux/oraparam.ini follow the steps from http://forums.oracle.com/forums/thread.jsp?forum=135&thread=212247&message=589310&q=6665646f7261#589310 > Since that didn't work, I figured that maybe I could patch glibc (making the __libc_wait public) and install it somewhere like /usr/glibc-patched-2.3.2 and use LD_LIBRARY_PATH=/usr/glibc-patched-2.3.2/lib when installing Oracle. > > First, I dug through the objcopy/objdump docs, hoping there was some way to copy libc and "globalize" __libc_wait, but I couldn't find any way to do that. > > I did find a patch on a mailing list somewhere that makes __libc_wait public, though, so I downloaded glibc-2.3.2 from gnu.org, patched it, compiled it, installed it, set LD_LIBRARY_PATH and tried running ls. It complained about other missing symbols. > > I guess that, since Fedora Core 1 doesn't use a stock glibc-2.3.2 from gnu.org, the glibc source RPM (or at least all of the code from it) must be used. So, I downloaded glibc-2.3.2-101.src.rpm, installed it, added the glibc-__libc_wait.patch, modified the spec file to install everything in /usr/glibc-patched-2.3.2 and built everything. After about 10 tries, finally everything builds and installs properly, but setting LD_LIBRARY_PATH=/usr/glibc-patched-2.3.2/lib and running ls results in a segfault. > > Maybe there's just something wrong with my spec file or maybe with the patch. Maybe my whole approach is wrong. > > The patch is available at http://www.firstworks.com/glibc-__libc_wait.patch > The specfile is available at http://www.firstworks.com/glibc.spec > > Could someone proofread them. Maybe there's an error in there somewhere. Or, if anyone can suggest another approach, I'd be happy to try it too. Christophe