RE: How to Compile a Custom Library
Date: Wed, 29 Oct 2008 08:48:34 -0700
I'd pretty much reached the conculsion that it was beyond my scope as a DBA to recompile this object, but you have pointed me in the right direction. I'll try to get a developer or UNIX admin to give me hand.
Thanks for your help!
From: Mark.Bobak_at_proquest.comTo: vickipierce51_at_hotmail.com; raindoctor_at_gmail.comCC: oracle-l_at_freelists.orgDate: Wed, 29 Oct 2008 11:39:13 -0400Subject: RE: How to Compile a Custom Library
The error is “wrong ELF class: ELFCLASS32“. This means that you’re trying to use a 32-bit library, and it’s not working. Almost certainly, the program that’s attempting to run, which is encountering this error, is a 64-bit binary. A 64-bit binary *must* use 64-bit libraries. You need to locate and install the 64-bit version of this library. If this library is custom code, then, as previously suggested, you’ll need to re-compile it from source code. This should be a pretty easy task for an experienced C programmer, but is non-trivial, and probably beyond the scope of something I could talk you through in email.
Very briefly, you’ll need:
1.) A C compiler. Gcc is a popular choice these days, but your OS may provide a proprietary one as well. (Type ‘which cc’ or ‘which gcc’ to see if one is installed.) 2.) All the source code for the library. This will generally be all the *.h and *.c files. 3.) A make file, to help build the library. (Optional, but helpful, particularly if you have multiple *.c files that make up your library.)
Other possibly helpful commands:
‘file’, will tell you if a particular binary, object or shared object file is 32 or 64 bit. (‘file /path/to/your/binary/or/object/file’) ‘ldd’, (list dynamic dependencies), will tell you if a particular binary is missing any dynamic library dependencies.
Hope that helps,
--Mark J. BobakSenior Database Administrator, System & Product TechnologiesProQuest789 E. Eisenhower, Parkway, P.O. Box 1346Ann Arbor MI 48106-1346+1.734.997.4059 or +1.800.521.0600 x 4059mark.bobak_at_proquest.comwww.proquest.comwww.csa.comProQuest...Start here.
From: oracle-l-bounce_at_freelists.org [mailto:oracle-l-bounce_at_freelists.org] On Behalf Of Vicki PierceSent: Wednesday, October 29, 2008 10:43 AMTo: Pedro EspinozaCc: oracle-lSubject: RE: How to Compile a Custom Library
When I try to start the Apps services after the clone, I get an error regarding this library: ld.so.1: ps: fatal: /erp/11.5.10/appltop/cust_stuff/fnd/bin/libopenlibname.so: wrong ELF class: ELFCLASS32If I don't need to recompile the library, then do you know what is causing the error? And how do I fix it? Thanks!Vicki Pierce
Date: Tue, 28 Oct 2008 20:06:12 -0700From: raindoctor_at_gmail.comTo: vickipierce51_at_hotmail.comSubject: Re: How to Compile a Custom LibraryCC: oracle-l_at_freelists.orgWell, you need to get the all header files *.h, and relevant *.c files, and compile against 64 bit libc, libm, etc. Sometimes, you may have to modify your c program as well. Just leave the 32 bit so file like it as, since 64 bit solaris 10 contains both 32 bit n 64 bit libc, etc.
On Tue, Oct 28, 2008 at 1:58 PM, Vicki Pierce <vickipierce51_at_hotmail.com> wrote:
We moved our Oracle Apps software to a new 64-bit Solaris 10 server; there is a custom library (.so file) that is still in 32-bit mode. I need to compile it so that it is 64-bit. How do I go about doing that? RDBMS version 18.104.22.168; Apps version 22.214.171.124 Thanks in advance!Vicki Pierce
Want to read Hotmail messages in Outlook? The Wordsmiths show you how. Learn Now
Stay organized with simple drag and drop from Windows Live Hotmail. Try it
Store, manage and share up to 5GB with Windows Live SkyDrive. http://skydrive.live.com/welcome.aspx?provision=1?ocid=TXT_TAGLM_WL_skydrive_102008
http://www.freelists.org/webpage/oracle-l Received on Wed Oct 29 2008 - 10:48:34 CDT