link problems with boost_regex on Solaris
I'm using boost_regex 1.28.0 with STLport 4.5.3 on Solaris using Forte compiler. When I build with -g option, it fails at linkage with the following errors ild: (undefined symbol) boost::detail::allocator<unsigned char>::allocator<char>#Nvariant 1(const boost::detail::allocator<__type_1>&) -- referenced in the text segment of ../../../../packages/boost_1_28_0/sparc-solaris/libboost_regex_mt.a(OhCenAP7d5aN-_Bfr3wh.o) ild: (undefined symbol) boost::detail::allocator<unsigned char>::allocator<char>#Nvariant 1(const boost::detail::allocator<__type_1>&) -- referenced in the text segment of ../../../../packages/boost_1_28_0/sparc-solaris/libboost_regex_mt.a(J-U5NXbbfexb9iPLelyN.o) ild: (undefined symbol) boost::detail::allocator<unsigned char>::allocator<char>#Nvariant 1(const boost::detail::allocator<__type_1>&) -- referenced in the text segment of ../../../../packages/boost_1_28_0/sparc-solaris/libboost_regex_mt.a(5cVinizdRsfQ1ujqbKlp.o) ild: (undefined symbol) boost::detail::allocator<unsigned char>::allocator<char>#Nvariant 1(const boost::detail::allocator<__type_1>&) -- referenced in the text segment of ../../../../packages/boost_1_28_0/sparc-solaris/libboost_regex_mt.a(TbU7jVI0o3rCSz-c48HV.o) ild: (undefined symbol) boost::detail::allocator<unsigned char>::allocator<char>#Nvariant 1(const boost::detail::allocator<__type_1>&) -- referenced in the text segment of ../../../../packages/boost_1_28_0/sparc-solaris/libboost_regex_mt.a(Zi2bUcR97vUxCHzFzV0a.o) ild: (undefined symbol) boost::detail::allocator<unsigned char>::allocator<char>#Nvariant 1(const boost::detail::allocator<__type_1>&) -- referenced in the text segment of ../../../../packages/boost_1_28_0/sparc-solaris/libboost_regex_mt.a(aTM7t-gA2lwhiyP5RH3P.o) ild: (undefined symbol) boost::detail::allocator<unsigned char>::allocator<char>#Nvariant 1(const boost::detail::allocator<__type_1>&) -- referenced in the text segment of ../../../../packages/boost_1_28_0/sparc-solaris/libboost_regex_mt.a(OkRWOOTWnnv97gH0a9t_.o) ild: (undefined symbol) boost::detail::allocator<unsigned char>::allocator<char>#Nvariant 1(const boost::detail::allocator<__type_1>&) -- referenced in the text segment of ../../../../packages/boost_1_28_0/sparc-solaris/libboost_regex_mt.a(hKZggW9H89qzPd1td_2e.o) ild: (undefined symbol) boost::detail::allocator<unsigned char>::allocator<char>#Nvariant 1(const boost::detail::allocator<__type_1>&) -- referenced in the text segment of ../../../engine/lib/sparc-solaris/ Any idea what's going on? Everything works fine without -g option. ____________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html
I'm using boost_regex 1.28.0 with STLport 4.5.3 on Solaris using Forte compiler. When I build with -g option, it fails at linkage with the following errors
Any idea what's going on? Everything works fine without -g option.
Either upgrade your Boost version, or replace the contents of boost/detail/allocator.hpp with that at: http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/boost/detail/al... It's a compiler/linker bug BTW: for some reason when template member functions are not expanded inline the linker doesn't find them (it could be a template repository issue, but I'm not familiar enough with Sunpro to say for sure). John.
I've downloaded the new header, but still have the
same problems (and a few more). Is a new version of
Boost the only solution? Patching the compiler at
present is not an option due to company-wide
standardization.
new linker errors are:
ild: (warning) unsigned
__unnamed_lRAFKAZFwAkvu::_re_get_message(char*,unsigned,unsigned)
is now undefined but still referenced
ild: (undefined symbol) unsigned
__unnamed_lRAFKAZFwAkvu::_re_get_message(char*,unsigned,unsigned)
-- referenced in the text segment of
../../../../packages/boost_1_28_0/sparc-solaris/libboost_regex_mt.a(nRUiCSueMJkB7avZOQhG.o)
--- John Maddock
Solaris using Forte compiler. When I build with -g option, it fails at linkage with the following errors
Any idea what's going on? Everything works fine without -g option.
Either upgrade your Boost version, or replace the contents of boost/detail/allocator.hpp with that at:
http://cvs.sourceforge.net/viewcvs.py/*checkout*/boost/boost/boost/detail/al...
It's a compiler/linker bug BTW: for some reason when template member functions are not expanded inline the linker doesn't find them (it could be a template repository issue, but I'm not familiar enough with Sunpro to say for sure).
John.
_______________________________________________ Boost-users mailing list Boost-users@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-users ____________________________________________________________ Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now http://uk.messenger.yahoo.com/download/index.html
I've downloaded the new header, but still have the same problems (and a few more). Is a new version of Boost the only solution? Patching the compiler at present is not an option due to company-wide standardization.
new linker errors are:
ild: (warning) unsigned __unnamed_lRAFKAZFwAkvu::_re_get_message(char*,unsigned,unsigned) is now undefined but still referenced ild: (undefined symbol) unsigned __unnamed_lRAFKAZFwAkvu::_re_get_message(char*,unsigned,unsigned) -- referenced in the text segment of
../../../../packages/boost_1_28_0/sparc-solaris/libboost_regex_mt.a(nRUiCSue MJkB7avZOQhG.o) That really makes no sense at all, can you check the obvious things: 1) You only replaced boost/detail/allocator.hpp and nothing else right? 2) You cleaned out all your old object files and did a clean rebuild of the library 3) There aren't any old versions of libboost_regex sitting around in your lib search path. Thanks, John Maddock.
participants (2)
-
Drew Lowry
-
John Maddock