Trying to make Oracle 9i work under Debian (specifically Debian unstable) ? Me too.
I got it to install ok - read this to see how to fix that "Error in invoking target install of makefile /opt/oracle/product/9.2.0/ctx/lib/ins_ctx.mk" error during installation.
When I went to run dbca
, the JVM segfaulted. Ok. I editted it (it's a script), and changed JRE_DIR
to point at a newer version of a JRE/JDK I had around ("and here's one I prepared earlier..."). Also, right at the very end of the file, it has 2 lines where it runs $JRE_DIR/bin/jre
- I had to change these to $JRE_DIR/bin/java
.
The next hurdle appeared when I reached the end of the dbca
config process and hit "finish" to go ahead and create the database. Somewhere in here, it bombed out with an ORA-03113
"end-of-file on communication channel" error. If you poke around in the bdump
(and such) directories before closing the ORA-03113
error dialog box, you'll find an alert log with this at the end :
Errors in file /u01/app/oracle/admin/yourdb/udump/yourdb_ora_1234.trc: ORA-07445: exception encountered: core dump [skgmidrealm()+338] [SIGSEGV] [Address not mapped to object] [0x3320DFFC] [] []
After a fair bit of poking around on the web, I found this helpful page over in the Gentoo Linux forums, which explains that there's a bug in glibc 2.3.1, which has been fixed in 2.3.2, though you can patch the source to fix it for now. Debian unstable is currently using glibc 2.3.1, so I did an apt-get source libc6
and after poking around, discovered that I had to create a new "dpatch" file in glibc-2.3.1/debian/patches
, which I called
oracle-dl-runtime.dpatch
:
#! /bin/sh -e # DP: Oracle fix for dl-runtime.c, as per http://forums.gentoo.org/viewtopic.php?t=35340 if [ $# -ne 2 ]; then echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 fi case "$1" in -patch) patch -d "$2" -f --no-backup-if-mismatch -p1 < $0;; -unpatch) patch -d "$2" -f --no-backup-if-mismatch -R -p1 < $0;; *) echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" exit 1 esac exit 0 --- glibc-2.3.1/elf/dl-runtime.c~ 2003-05-22 13:00:29.000000000 +1000 +++ glibc-2.3.1/elf/dl-runtime.c 2003-05-22 13:00:50.000000000 +1000 @@ -84,7 +84,7 @@ { const ElfW(Half) *vernum = (const void *) D_PTR (l, l_info[VERSYMIDX (DT_VERSYM)]); - ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info) & 0x7fff]; + ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info)] & 0x7fff; const struct r_found_version *version = &l->l_versions[ndx]; if (version->hash != 0) @@ -179,7 +179,7 @@ { const ElfW(Half) *vernum = (const void *) D_PTR (l,l_info[VERSYMIDX (DT_VERSYM)]); - ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info) & 0x7fff]; + ElfW(Half) ndx = vernum[ELFW(R_SYM) (reloc->r_info)] & 0x7fff; const struct r_found_version *version = &l->l_versions[ndx]; if (version->hash != 0)
I then added oracle-dl-runtime
to the end of the 0list
file (also in the glibc-2.3.1/debian/patches
directory). A dpkg-buildpackage
later and I've got a new libc6_2.3.1-17_i386.deb
package (note: it's a good idea to change the debian part of the version number when you do this. I didn't do it yet, 'cause I wanted to make sure it actually worked). After installing it, database creation completed successfully. Woo!
NOTE: I've been using Linux since 1992, and I still get the willies having to do stuff like patching libc
. Exercise extreme caution, and beware that if you screw it up, your whole system may fall over sideways and give you the finger. Presumably glibc 2.3.2 will make it into Debian soon enough, and you won't have to worry about all this. The main reason I posted this is so it's in one place for the next poor sap trying to make it go...
14:12 geek
Archives
...the last 3 months :
Recent Posts
Posts Recently Commented Upon
Other Recent Listening
Hair
sorta dark red with one blond bit.Wasting Time On
Links
Help Save The World
I may not (so far) run the kind of blog that posts social conscience linkage - other friends seem to have it covered better than I could manage (yes, I'm aware that's no excuse), but this doesn't mean that I don't care about the State of ThingsTM.
i donate to :
but there's other things worth worrying about too, like :
Looking For Something ?
Feed ?
yes indeed - a merged feed of my flickr photos, del.icio.us tags and posts here:
Licensing
This weblog is licensed under a Creative Commons License.