sunstudio 11 library question
Hello,
I have just got a new developer box V240.
I installed sunstudio 11. My old box had sunstudio 8.
when recompiling all I get no errors. But linking gives me:
linking
CC -mt -g -o ./DEBUG/IBAG_ddxfer ./DEBUG/IBAG_ddxfer.o ./DEBUG/main.o ./DEBUG/IBAG_base.o ./DEBUG/StreamToString.o ./DEBUG/IBAG_mq_series.o ./DEBUG/IBAG_error_handler.o ./DEBUG/IBAG_cobol_parser.o ./DEBUG/IBAG_processes.o ./DEBUG/IBAG_log.o ./DEBUG/IBAG_iniparser.o ./DEBUG/IBAG_dmg_access.o ./DEBUG/IBAG_timer.o ./DEBUG/StringTokenizer.o ./DEBUG/StreamTokenizer.o ./DEBUG/IBAG_confo_parser.o ./DEBUG/IBAG_ParseMORXMLMessage.o ./DEBUG/ati_glob_client_stub.o ./DEBUG/IBAG_ati.o ./DEBUG/IBAG_dh11.o ./DEBUG/ati_private.o ./DEBUG/ati_glob_private.o ./DEBUG/dh11_02_private.o ./DEBUG/IBAG_dh11_Execute.o ./DEBUG/dh11_02_client_stub.o ./DEBUG/ati_client_stub.o -L/opt/oracle/server/9.2.0.4/lib32 -L/sbcimp/run/pd/apache_xerces-c/2.1.0_mt_rel_SS10/lib -L/opt/SUNWspro/lib:/usr/lib:/sbcimp/run/tp/sun/SUNWspro/v8/lib:/sbcimp/run/tp/ sun/SUNWspro/v8/lib/v9 -L/opt/isi3/lib -lsocket -lmqm -limqb23as -limqc23as -lisi3corba -lisi3cosname -lxerces-c -lclntsh -R/opt/oracle/server/9.2.0.4/lib32:/opt/isi3/lib:/opt/p2imola/lib
Undefinedfirst referenced
symbolin file
char std::istreambuf_iterator<char,std::char_traits><char> >::proxy::operator*() ./DEBUG/StreamToString.o
ld: fatal: Symbol referencing errors. No output written to ./DEBUG/IBAG_ddxfer
*** Error code 1
From what I can see all needed libs are included.
regards
fagery_coder
# 1
The missing symbol is supposed to be in /usr/lib/libCstd.so.1. Apparently you did not install all the required Solaris patches. In particular, you need the C++ Runtime LIbrary patches (SUNWlibC).
As root, run the installer again, and select just the Solaris patches for installation. That should fix the problem. (You don't have to worry about installing a duplicate patch or an old patch on top of a newer patch -- the system protects against that possibility.)
BTW, you should never use -L options that point into the compiler installation, nor into /usr/lib. The CC command knows where to find these system libraries, and when you override it by adding -L directives, you can prevent the right library from being found.
Change this option:
-L/opt/SUNWspro/lib:/usr/lib:/sbcimp/run/tp/sun/SUNWspro/v8/lib:/sbcimp/run/tp/ sun/SUNWspro/v8/lib/v9
to this:
-L/sbcimp/run/tp/sun/SUNWspro/v8/lib:/sbcimp/run/tp/sun/SUNWspro/v8/lib/v9
(I am assuming that /sbcimp does not contain a compiler installation.)
# 2
Hi,
I tried you suggestions. Removed the -L options and re-ran installation with Patches only. However the linker error stays the same. But I guess you are right what some thing is wrong with the lib patches.
Patch: 108434-13 Obsoletes: Requires: 109147-07 Incompatibles: Packages: SUNWlibC
Patch: 108434-14 Obsoletes: Requires: 109147-07 Incompatibles: Packages: SUNWlibC
Patch: 108434-18 Obsoletes: Requires: 109147-07 Incompatibles: Packages: SUNWlibC
Patch: 108435-13 Obsoletes: Requires: 108434-13 Incompatibles: Packages: SUNWlibCx
Patch: 108435-14 Obsoletes: Requires: 108434-14 Incompatibles: Packages: SUNWlibCx
Patch: 108435-18 Obsoletes: Requires: 108434-17 Incompatibles: Packages: SUNWlibCx
But I just don't findout what I need to patch... hope i don't need to reinstall the OS.
fagery_coder