At 5:47 PM -0400 3/8/2005, David G. Brooks wrote:
Quote:
Hi,
I've been messing around with Ingres r3 (the GA version) recently and was attempting to run CBF but am getting the following error ... same thing with IPM too, but QBF works fine.
ld.so.1: cbf: fatal: /home/ingresII/ingres/lib/libframe.1.so: wrong ELF class: ELFCLASS32
Killed |
This is usually an LD_LIBRARY_PATH foul-up.
The Solaris build for r3 is a hybrid; it has both 32-bit and 64-bit
builds. You need to make sure that if you're running the 64-bit
version, i.e. II_LP64_ENABLED is set in your ingprenv output, that
you only have $II_SYSTEM/ingres/lib/lp64 in your LD_LIBRARY_PATH.
(Alternatively, have NO ingres libraries in LD_LIBRARY_PATH, and define
LD_LIBRARY_PATH_32 pointing to ingres/lib and LD_LIBRARY_PATH_64 pointing
to ingres/lib/lib64.) Likewise, if you're running the 32-bit version,
you need to make sure that you're finding the 32-bit libraries.
Given the error message, I'd say that you have managed to turn on
II_LP64_ENABLED, but the LD_LIBRARY_PATH search is finding ingres/lib
i.e. the 32-bit libraries.
This whole area is a bit of a problem, and there have been some sporadic
discussions about how to solve it better (without LD_LIBRARY_PATH, which
is evil anyway for security reasons). I gather that the current leaning
is towards explicitly linking our shared libs with libdl functions,
but I don't know that a decision has been made.
Karl