Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.server -> Oracle 8.0.5 and shared libraries
OK, silly question, but why does Oracle 8.0.5 come with about 100 .a
archive libraries, but only 6 .sl shared libraries ? It means that when
you relink executables, you end up with 10-20 MB binaries instead of 1 or
2 MB binaries !
You can guess what I did next - I wrote a script to extract the .o's from the .a's and create a shared library (where possible from them) - I'm using HP-UX, so that would be "ld -b" to create the shared libraries. I then went back to the Oracle installer and re-installed all the products with "relink executables" turned on and - voila - I got a load of binaries out which not only worked, but were much smaller.
Admittedly, I had to be careful - some .a's didn't have PIC files or wouldn't convert to a .sl, plus the aCC on our system wouldn't relink one or two things (cos it's an old aCC - I moved it out of the way and relinked with cc instead).
The only annoying binary that didn't benefit seemed to be $ORACLE_HOME/bin/oracle itself, which forced archive linking in its Makefile for some bizarre reason. When I relinked with shared libraries, I got an undefined symbol error, that I couldn't track down easily (but I'll have a more closer look).
Anyway, what are perils of doing this (other than the obvious "it's unsupported by Oracle") ? If there aren't any snags and Oracle works fine, then why the heck didn't Oracle ship 8.0.5 like this in the first place ?
Richard K. Lloyd, E-mail: rkl_at_csc.liv.ac.uk Computer Science Dept., WWW: http://www.csc.liv.ac.uk/~rkl/Liverpool University,
![]() |
![]() |