[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Shared library error
From: |
Terry |
Subject: |
Shared library error |
Date: |
Mon, 27 Jun 2005 15:33:58 -0400 |
Hello, hope one of you can help me.
I have built a shared library to be used as a JNI (java native interface)
for an app server. This same code works perfectly on Sun, IBM, and Windows.
I use the -fPIC option when compiling and -Wl,soname...
and -Wl,-export-dynamic on the link. Everything seems to build the .so
perfectly. However, when the app server loads the shared lib, it generates
the following error:
<Jun 20, 2005 12:09:20 PM CDT> <Error> <HTTP> <BEA-101017>
<[ServletContext(id=70554084,name=ExceptionEngine,context-path=/ExceptionEng
ine)] Root cause of ServletException.
java.lang.UnsatisfiedLinkError: /usr/lib/ems/libJavaReportFactory.so:
/usr/lib/ems/libJavaReportFactory.so: undefined symbol: _ZTV13ArcOpcTextCmd
If I look at the shared library with nm, it shows that the symbol is, in
fact, undefined. This symbol corresponds to a default constructor which is
not declared or referenced (two other constructors are specified for that
class). So my question- is this normal? Am I missing a g++ compile option
somewhere? Does this mean that every class that doesn't include a
specifically declared no-argument constructor will generate this error at
load time for a shared lib? Or, is the possibly something that is a fault
of BEA weblogic, looking for all symbols and failing when one is not
defined, even if it is not used?
I understand that this might not be the correct forum, but any help would be
greatly appreciated.
- Shared library error,
Terry <=