Hi, Just let you know I did not use Sun Studio 11 to compile it since I noticed that lots of third party libs of my application need libCstd library while AMQ-CPP needs stlport4. So it seems ActiveMQ is not suitable for us, maybe openMQ is another choice.
Thanks! ymjzxw wrote: > > No, I did not use the latest 3.0 code, I had 2.2 release with patch of bug > AMQCPP-219. > The problem maybe because I compiled it with CC compiler from Workshop11 > not Sun Studio 11. > I will try to do it with Sun Studio 11 soon. > > Regards > > > > Timothy Bish wrote: >> >> On Thu, 2009-05-21 at 19:17 -0700, ymjzxw wrote: >>> Hi Tim, >>> >>> I do have set CC and CXX environment variables before config, but I did >>> not >>> see -library=stlport4 option was added to the Makefile both of src/main >>> and >>> src/example after config. >>> >>> It had compile errors until I added this option to these two Makefiles >>> manually. this option was added to the AMQ_CXXFLAGS and >>> AMQ_TEST_CXXFLAGS. >>> >>> After I got the libactivemq-cpp.so, I got following info: >>> >>> bash-3.00# ldd src/main/.libs/libactivemq-cpp.so.3.0.0 >>> libm.so.2 => /usr/lib/libm.so.2 >>> libapr-1.so.0 => /usr/local/apr/lib/libapr-1.so.0 >>> libuuid.so.1 => /usr/lib/libuuid.so.1 >>> libsendfile.so.1 => /usr/lib/libsendfile.so.1 >>> librt.so.1 => /usr/lib/librt.so.1 >>> libsocket.so.1 => /usr/lib/libsocket.so.1 >>> libnsl.so.1 => /usr/lib/libnsl.so.1 >>> libpthread.so.1 => /usr/lib/libpthread.so.1 >>> libaprutil-1.so.0 => /usr/local/apr/lib/libaprutil-1.so.0 >>> libgdbm.so.3 => /usr/local/lib/libgdbm.so.3 >>> libdb-4.2.so => /usr/local/BerkeleyDB.4.2/lib/libdb-4.2.so >>> libexpat.so.1 => /usr/local/lib/libexpat.so.1 >>> libiconv.so.2 => /usr/local/lib/libiconv.so.2 >>> libc.so.1 => /usr/lib/libc.so.1 >>> libstlport.so.1 => >>> /compilers/WS11/SUNWspro/lib/stlport4/libstlport.so.1 >>> libCrun.so.1 => /usr/lib/libCrun.so.1 >>> libgcc_s.so.1 => /usr/local/lib/libgcc_s.so.1 >>> libaio.so.1 => /lib/libaio.so.1 >>> libmd5.so.1 => /lib/libmd5.so.1 >>> libmp.so.2 => /lib/libmp.so.2 >>> libscf.so.1 => /lib/libscf.so.1 >>> libexpat.so.0 => /usr/local/lib/libexpat.so.0 >>> libm.so.1 => /lib/libm.so.1 >>> libdoor.so.1 => /lib/libdoor.so.1 >>> libuutil.so.1 => /lib/libuutil.so.1 >>> /platform/SUNW,Sun-Fire-V215/lib/libc_psr.so.1 >>> /platform/SUNW,Sun-Fire-V215/lib/libmd5_psr.so.1 >>> >>> stlport4/libstlport.so.1 was linked into. >>> >>> Any mistakes I have done? >>> >>> Thanks >>> >>> >>> >>> >>> >>> >>> Timothy Bish wrote: >>> > >>> > On Thu, 2009-05-21 at 08:20 -0700, ymjzxw wrote: >>> >> The libactivemq-cpp.so was successfully built, but the executable >>> file >>> >> example was failed: >>> >> Undefined first referenced >>> >> symbol in file >>> >> std::smanip<int>::smanip(std::ios_base&(*)(std::ios_base&,int),int) >>> >> ../main/.libs/libactivemq-cpp.so >>> >> std::smanip_fill<char,std::char_traits<char> >::smanip_fill(std::ios >>> >> &(*)(std::ios &,char),char) ../main/.libs/libactivemq-cpp.so >>> >> int std::char_traits<char>::eof() ../main/.libs/libactivemq-cpp.so >>> >> void std::__initialize<unsigned>(__type_0&,__type_0) >>> >> ../main/.libs/libactivemq-cpp.so >>> >> std::ostream &std::operator<<(std::ostream &,const char*) >>> >> ../main/.libs/libactivemq-cpp.so >>> >> char std::ios::fill(char) ../main/.libs/libactivemq-cpp.so >>> >> int std::string::compare(const std::string &)const >>> >> ../main/.libs/libactivemq-cpp.so >>> >> std::ostream &std::operator<<(std::ostream &,char) >>> >> ../main/.libs/libactivemq-cpp.so >>> >> std::ios_base&std::swidth(std::ios_base&,int) >>> >> ../main/.libs/libactivemq-cpp.so >>> >> std::string::basic_string(const std::allocator<char>&) >>> >> ../main/.libs/libactivemq-cpp.so >>> >> int std::ios_base::setf(int,int) >>> ../main/.libs/libactivemq-cpp.so >>> >> ld: fatal: Symbol referencing errors. No output written to >>> .libs/example >>> >> >>> >> >>> >> PS: I added -library=stlport4 option when build libactivemq-cpp.so >>> and >>> >> example. >>> >> And the CC compiler version is Sun C++ 5.8 2005/10/13 (WS11) >>> >> >>> >> What's going on here? Did it mean I have an old or wrong CC compiler? >>> >> >>> >> Thanks >>> > >>> > I'm not sure on the exact Sun Compilers that people have used to build >>> > with, Sun compilers have always been a mystery to me. It looks like >>> the >>> > code wasn't built with the stlport4 option, since you said its been >>> > added then I'd make sure you did a clean build with it added. >>> > >>> > The STLPort stuff should get added automatically buy the configure >>> > script If you follow the recommendations on the FAQ page here: >>> > http://activemq.apache.org/cms/using-the-solaris-cc-compiler.html >>> > >>> > Regards >>> > Tim. >>> > >>> > -- >>> > Tim Bish >>> > http://fusesource.com >>> > http://timbish.blogspot.com/ >>> > >>> > >>> > >>> > >>> > >>> >> >> I don't see anything that looks wrong with what you have done. I'm not >> sure why the stlport stuff isn't getting added for you. I will say that >> the 3.0 code has not been built on a Solaris machine as far as I know, I >> don't have access to one myself. I'd make sure you use the latest code >> from SVN right now as there have been some fixes since the last release >> candidate. >> >> Regards >> Tim. >> >> >> -- >> Tim Bish >> http://fusesource.com >> http://timbish.blogspot.com/ >> >> >> >> >> > > -- View this message in context: http://www.nabble.com/Undefined-symbols-of-building-ActiveMQ-CPP-with-Sun-CC5.8-tp23655010p23789597.html Sent from the ActiveMQ - Dev mailing list archive at Nabble.com.
