On Wed, 2008-01-09 at 15:37 +0100, Thomas Girard wrote: > On Wed, Jan 09, 2008 at 07:07:30AM -0500, Adam C Powell IV wrote: > > Greetings, > > Hello Adam, > > > I'm having trouble with a new C++ package called Salomé which I can't > > get to link to a C++ library in a new package OpenCASCADE. > > > > Here's the error: > > [...] > > > Using nm -C I found that the library libTKernel has: > > 0000000000004c74 T operator<<(_STL::basic_ostream<char, > > _STL::char_traits<char> >&, TCollection_AsciiString const&) > > and the other missing symbols are in that and other OpenCASCADE libs > > with s/std/_STL/ . > > > > >From Googling around, I've learned that this seems to be a confusion > > between the stlport namespace and standard C++ library namespace for the > > argument symbols. So how do I either get Salomé to build in the stlport > > namespace, or get OpenCASCADE to not build there? > > It seems the libTKernel has changed how STLport std:: namespace (through > _STDP_STD_NAME macro) gets expanded. If you have a look at libstlport5.1 > symbols you should see there are defined in the stlp_std:: namespace. > Removing this #define _STDP_STD_NAME _STL from headers used by libTKernel > should fix the link failure.
Thank you for pointing this out. OpenCASCADE doesn't work with stlport 5.1, just 4.6. I don't see _STDP_STD_NAME in any of the OpenCASCADE headers... Should I perhaps #define _STDP_STD_NAME std, or #undef it? > I'll answer the omniORB change on the pkg-corba mailing list. Alexandre Fayolle pointed out that Salomé only supports omniORB 4.0.x, not 4.1.1. So to get this to build in unstable, I'll need to port it to 4.1.1. :-( I'll stick to building in testing for now, and port when I get time. Thanks again, -Adam -- GPG fingerprint: D54D 1AEE B11C CE9B A02B C5DD 526F 01E8 564E E4B6 Engineering consulting with open source tools http://www.opennovation.com/ -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]