Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Seg. Fault from OCI program on Linux using shared lib
OS: Linux (RH-6.0)
VER: Oracle 8.1.5
I'm just beginning to work with the OCI, but I'm having a hard time linking an OCI program using the "shared library". According to the comments in demo_rdbms.mk, one should be able to link an OCI app with the following command:
make -f demo_rdbms.mk build EXE=app OBJS="app.o ..."
The comments go onto say that if you'd prefer to link statically, you can use this command:
make -f demo_rdbms.mk build_static EXE=app OBJS="app.o ..."
If I link statically (the "build_static" option), everthing works out famously. No warnings are produced, and the application works as expected. If I choose the dynamic approach (the "build" option), I get a warning for every OCI call, and the executable produces a segmentation fault at the first OCI call when run.
Here are the warnings I get at link time:
/usr/bin/ld: warning: type and size of dynamic symbol `olog' are not
defined
/usr/bin/ld: warning: type and size of dynamic symbol `ocof' are not
defined
/usr/bin/ld: warning: type and size of dynamic symbol `oopen' are not
defined
/usr/bin/ld: warning: type and size of dynamic symbol `oparse' are not
defined
/usr/bin/ld: warning: type and size of dynamic symbol `odescr' are not
defined
Has anyone else stumbled across this? Am I doing something stupid, or does the makefile need some fixing?
TIA, Matt Received on Mon Oct 25 1999 - 00:57:38 CDT
![]() |
![]() |