Migrating from Sun forty seven to Sun studio 11 C++ compiler

Hi All,

I am getting the following linking errors while compiling with Sun Studio 11 compiler.

Linking /vobs/sphinx/solaris/bin/spx_bo_feed for PROD_DESTEXE

/vobs/environment/maketools/atria_cxxl /vobs/sphinx/solaris/bin/spx_bo_feed SunCC SunCC4.0 CC PURELINK -O2 -DOSREV=551 -Dunix -DNDEBUG -DSOL_NODCE -DCPLUSREL=4 -DCPLUSVER=4 -DCPLUSREV=1 -Dsvr4-L/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib -L/export/opt/SUNWspro/prod/lib -R/export/opt/SUNWspro/prod/lib -L/home/pyramid/n018503/opt/ptms/7.0.7.0/solaris/lib -L/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib -L/opt/open_client/11.1.1.7883/solaris/lib -R/opt/open_client/11.1.1.7883/solaris/lib -o /vobs/sphinx/solaris/bin/spx_bo_feed solaris/e/spx_bo_feed.o solaris/e/SpxBoFeedError.o solaris/e/SpxBoFeedRecord.o solaris/e/SpxBoFeedInfo.o solaris/e/SpxBoFeedCreator.o solaris/e/SpxBoFeedDb.o solaris/e/SpxBoFeedMsg.o solaris/e/SpxBoFeedSendPTMS.o solaris/e/SpxBoFeedSendFile.o solaris/e/SpxBoFeedPerfTime.o -Bstatic -lmapi -lmapiutil -Bstatic -L/apps/GMC/2.1.0.0/solaris/lib -lgmc_ultraLite -Bstatic -Bstatic -lptms -lmds -Bstatic /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/dbsdlib.o -Bdynamic -lctl7d -ldbt7d -ltls7d -Bdynamic -lsybdb -lct -lcs -lcomn -ltcl -ltli -Bdynamic -lsocket -lnsl -lintl -lposix4

@@@@@

@@@@@ PTREP="/vobs/sphinx/solaris/bin/spx_bo_feed.ptrep"

@@@@@

Undefinedfirst referenced

symbolin file

cerrsolaris/e/SpxBoFeedError.o

clog/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

coutsolaris/e/spx_bo_feed.o

stream_rmutex::rmutex_unlock(void)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapi.a(ACC_ROLE_Mapi.o)

streambuf::sync(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

_vector_des_solaris/e/SpxBoFeedSendPTMS.o

_vector_con_/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libctl7d.so

unsafe_ostream::operator<<(double) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

unsafe_ostream::operator<<(long) solaris/e/spx_bo_feed.o

CSMessage::CSMessage(const char*, const char*, const char*, const int)solaris/e/SpxBoFeedSendPTMS.o

fstream::fstream(const char*, int, int)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(MAPIFile.o)

fstreambase::attach(int)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(Tracer.o)

istream::read(char*, int)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(MAPIFile.o)

Provider::Connect(char*) solaris/e/SpxBoFeedSendPTMS.o

_ex_keylock /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

unsafe_istream::do_get(void) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

ios::ios(streambuf*) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

ostream::tellp(void)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(MAPIFile.o)

streambuf::streambuf(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

streambuf::~streambuf(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

operator delete(void*)solaris/e/spx_bo_feed.o

operator new(unsigned int)solaris/e/spx_bo_feed.o

istream::putback(char)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

ios::init(streambuf*)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

ios::setf(long, long)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(Tracer.o)

ostream::flush(void)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapi.a(ACC_ROLE_Mapi.o)

__rtbany_f(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

_pure_error_/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapi.a(Base_Mapi.o)

[Hint: try checking whether you are linking with the correct libC]

ostrstream::ostrstream(char*, int, int) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

istream::get(char*, int, char)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(MAPIFile.o)

streambuf::doallocate(void) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

Iostream_init::Iostream_init(void)solaris/e/spx_bo_feed.o

Iostream_init::~Iostream_init(void)solaris/e/spx_bo_feed.o

istrstream::istrstream(char*)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

ofstream::ofstream(const char*, int, int)solaris/e/SpxBoFeedSendFile.o

_ex_getsolaris/e/spx_bo_feed.o

unsafe_ios::floatfield /home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(Tracer.o)

[Hint: static member unsafe_ios::floatfield must be defined in the program]

unsafe_ostream::operator<<(unsigned long) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

ends(ostream&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

endl(ostream&)solaris/e/spx_bo_feed.o

setprecision(int)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapi.a(ACC_ROLE_Mapi.o)

CSMessage::~CSMessage(void)solaris/e/SpxBoFeedSendPTMS.o

Provider::Send(CSMessage*, int)solaris/e/SpxBoFeedSendPTMS.o

ostrstream::~ostrstream(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

ostream::ostream(streambuf*) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

istream::istream(streambuf*) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

flush(ostream&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

istream::operator>>(short&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

istream::operator>>(double&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

istream::operator>>(float&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

istream::operator>>(int&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

istream::operator>>(long&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

ostream::operator<<(unsigned long)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapi.a(ACC_ROLE_ListMapi.o)

ostream::operator<<(void*)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapi.a(ACC_ROLE_Mapi.o)

_ex_rethrow /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

ostream::operator<<(ios& (*)(ios&))/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

istream::operator>>(unsigned int&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

istream::operator>>(unsigned long&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

istream::operator>>(unsigned short&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

streambuf::seekoff(long, unsafe_ios::seek_dir, int) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

Node::Node(char*, Return_Code (*)(...))solaris/e/SpxBoFeedSendPTMS.o

fstreambase::close(void) solaris/e/SpxBoFeedSendFile.o

ws(istream&)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

stream_rmutex::rmutex_lock(void)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapi.a(ACC_ROLE_Mapi.o)

ios::~ios(void) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

ios::ios(void) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

setw(int) /home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapi.a(ACC_ROLE_Mapi.o)

unsafe_ios::clear(int) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

strstreambuf::str(void) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

unsafe_ios::setstate(int)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(MAPIFile.o)

filebuf::openprotsolaris/e/SpxBoFeedSendFile.o

[Hint: static member filebuf::openprot must be defined in the program]

ios::pword(int) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

streambuf::sgetn_unlocked(char*, int)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

unsafe_ios::unsafe_ios(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

unsafe_ios::~unsafe_ios(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

unsafe_ostream::do_opfx(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

unsafe_ostream::do_osfx(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

unsafe_istream::do_ipfx(int)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(MAPIFile.o)

streambuf::sputn_unlocked(const char*, int)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(MAPIFile.o)

unsafe_ostream::outstr(const char*, const char*)solaris/e/spx_bo_feed.o

ofstream::ofstream(void)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(Tracer.o)

ofstream::~ofstream(void)/home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(Tracer.o)

StPTMSSybaseData::~StPTMSSybaseData(void)solaris/e/SpxBoFeedSendPTMS.o

_ex_skipsolaris/e/spx_bo_feed.o

streambuf::pbackfail(int)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

newSybDbLibDatabaseImp /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/dbsdlib.o

__RT_USER::__RT_USER(char*, void*)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

__RT_USER::__vtblsolaris/e/spx_bo_feed.o

[Hint: try checking whether the first non-inlined, non-pure virtual function of class __RT_USER is defined]

istrstream::~istrstream(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libdbt7d.so

_ex_allocsolaris/e/SpxBoFeedRecord.o

_ex_cleansolaris/e/spx_bo_feed.o

_ex_throwsolaris/e/SpxBoFeedRecord.o

static ios::xalloc(void)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

streambuf::setp(char*, char*) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

_ex_rethrow_qsolaris/e/spx_bo_feed.o

__RT_BASE::__RT_BASE(__RT_USER*, __RT_BASE*, int, __RT_BASE::ac_mode, int) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

__RT_CLASS::__RT_CLASS(char*, __RT_BASE*, void*)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

ostream::seekp(long, unsafe_ios::seek_dir) /home/sbl/sblrel/opt/mapi/5.0.8.4/solaris/lib/libmapiutil.a(MAPIFile.o)

streambuf::seekpos(long, int)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

ostream::~ostream(void) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

ostream::operator<<(double) solaris/e/SpxBoFeedPerfTime.o

ostream::operator<<(long) solaris/e/SpxBoFeedMsg.o

istream::~istream(void) /home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

streambuf::setg(char*, char*, char*)/home/pyramid/n018503/dbtools/7.0.8.5/solaris/lib/libtls7d.so

I am mentioning the following details which I am using in one of my Makefile. :

# -- Compiler options

CPPFLAGS = -I. -I../include $(INC_PATHS) $(_INC_PATHS)

CCFLAGS+= -I. -I../include $(INC_PATHS) $(_INC_PATHS)

#CCFLAGS+= -compat=4 -library=rwtools7

CCFLAGS+= -compat=4 -library=rwtools7

#CCFLAGS+= -library=no%Cstd,iostream,rwtools7

#CCFLAGS+= -library=rwtools7_std

LDFLAGS+= $(LINK_PATHS) $(_LINK_PATHS)

Please let me know if any further information is needed from my side.

Cheers,

Rasmi

[11514 byte] By [july@123a] at [2007-11-27 9:40:32]
# 1

Was your ONLY change to use Sun Studio 11 instead of Forte Developer 7?

Is everything else EXACTLY the same?

It looks like the output you show mixes script output with CC command and CC output. Is it possible to extract just the CC command line and the output from the CC command?

Putting the options

-L/export/opt/SUNWspro/prod/lib -R/export/opt/SUNWspro/prod/lib

on the CC command line is usually a bad idea. They can cause the wrong libraries to be linked, or for the right libraries to be linked in the wrong order. The CC driver automatically adds the correct system library directories to the linker command line and RPATH, and puts them in the right order.

Have you always used those options? Have you tried omitting them?

clamage45a at 2007-7-12 23:17:52 > top of Java-index,Development Tools,Solaris and Linux Development Tools...