OCCI Compile/Linking Errors - std::basic_string [message #93908] |
Thu, 20 March 2003 15:53 |
John Woods
Messages: 3 Registered: March 2003
|
Junior Member |
|
|
I am having a difficult time compiling OCCI programs under Solaris 8, Oracle9iR2, with Sun's Forte Developer 6 Update 2 Compiler.
It seems to be having problems linking the std::basic_string symbol. Here is the output of what happens when I try to make the occi demos:
/u1/app/oracle/product/9.2.0/rdbms/demo> make -f demo_rdbms.mk occidemos
/usr/ccs/bin/make -f /u1/app/oracle/product/9.2.0/rdbms/demo/demo_rdbms.mk buildocci EXE=occiblob OBJS=occiblob.o
CC -xarch=v9 -xchip=ultra3 -D_REENTRANT -DSS_64BIT_SERVER -L/u1/app/oracle/product/9.2.0/lib/ -L/u1/app/oracle/product/9.2.0/rdbms/lib/ -o occiblob occiblob.o -locci -lclntsh `cat /u1/app/oracle/product/9.2.0/lib/sysliblist` -R/u1/app/oracle/product/9.2.0/lib -laio -lposix4 -lkstat -lm -lthread
Undefined first referenced
symbol in file
std::basic_string<char,std::char_traits<char>,std::allocator<char> >std::basic_string<char,std::char_traits<char>,std::allocator<char> >::__sun_concat(const std::basic_string<char,std::char_traits<char>,std::allocator<char> >&)const /u1/app/oracle/product/9.2.0/lib//libocci.so
std::basic_string<char,std::char_traits<char>,std::allocator<char> >std::basic_string<char,std::char_traits<char>,std::allocator<char> >::__sun_concat(const char*)const /u1/app/oracle/product/9.2.0/lib//libocci.so
ld: fatal: Symbol referencing errors. No output written to occiblob
*** Error code 1
make: Fatal error: Command failed for target `buildocci'
Current working directory /u2/oracle_9.2.0/rdbms/demo
*** Error code 1
make: Fatal error: Command failed for target `occiblob'
Anyone have ideas of what's going on?
|
|
|
Re: OCCI Compile/Linking Errors - std::basic_string [message #93918 is a reply to message #93908] |
Fri, 28 March 2003 13:12 |
John Woods
Messages: 3 Registered: March 2003
|
Junior Member |
|
|
FYI - I solved this issue. In order to solve the problem, I had to change the demo_rdbms.mk file to build the demos as 32-bit, using the "buildocci32" instead of "buildocci". Here are the changes to the makefile:
--Old--
$(OCCIDEMOS):
$(MAKE) -f $(DEMO_MAKEFILE) buildocci EXE=$@ OBJS=$@.o
--New--
$(OCCIDEMOS):
$(MAKE) -f $(DEMO_MAKEFILE) buildocci32 EXE=$@ OBJS=$@.o
|
|
|
|