problems with boost exception in trunk?

Current testing shows two compilers failing to link tests for the wide character version of the seriliazation library. For Comeau - the error is symbol already defined. It appears that certain symbols are instantiated in both the serialization library and its wide character brother. This results in a failure to link the tests. For Intel, there is a cryptic message related to symbol count - so it might or might not be the same issue. I would appear that the same code is getting instantiated in both libraries. If my analysis is correct, this problem could appear for any application which links to two or more boost libraries which use boost exception. Since we don't explicitly test for this, this we would generally have no way of knowing about this. Could whoever is responsible for the exception library please look into this? I hope that the version in the trunk has not yet been merged into the release. Robert Ramey

I routinely link boost::thread, boost::regex and boost::filesystem (which I assume all use boost::exception through boost::throw_exception) in the same executable, on msvc 8/9 and on linux/gcc. Perhaps the failure you are reporting is platform specific? If so, could you provide a log? Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode On Sat, Jul 5, 2008 at 10:34 AM, Robert Ramey <ramey@rrsd.com> wrote:
Current testing shows two compilers failing to link tests for the wide character version of the seriliazation library.
For Comeau - the error is symbol already defined. It appears that certain symbols are instantiated in both the serialization library and its wide character brother. This results in a failure to link the tests.
For Intel, there is a cryptic message related to symbol count - so it might or might not be the same issue.
I would appear that the same code is getting instantiated in both libraries. If my analysis is correct, this problem could appear for any application which links to two or more boost libraries which use boost exception. Since we don't explicitly test for this, this we would generally have no way of knowing about this.
Could whoever is responsible for the exception library please look into this?
I hope that the version in the trunk has not yet been merged into the release.
Robert Ramey
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Emil Dotchevski wrote:
I routinely link boost::thread, boost::regex and boost::filesystem (which I assume all use boost::exception through boost::throw_exception) in the same executable, on msvc 8/9 and on linux/gcc.
Perhaps the failure you are reporting is platform specific? If so, could you provide a log?
here is the one for Comeau http://tinyurl.com/68zwq8here is the one for Intel and http://tinyurl.com/6zxm77 Robert Ramey

The first link is broken. The second link indicates ld internal error. How is this related to Boost Exception? Hint: you can check if Boost Exception causes problems by disabling it temporarily -- just #define BOOST_EXCEPTION_DISABLE (this does not disable exceptions, it only reverts <boost/throw_exception.hpp> to its legacy behavior.) HTH, Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode On Sat, Jul 5, 2008 at 4:31 PM, Robert Ramey <ramey@rrsd.com> wrote:
Emil Dotchevski wrote:
I routinely link boost::thread, boost::regex and boost::filesystem (which I assume all use boost::exception through boost::throw_exception) in the same executable, on msvc 8/9 and on linux/gcc.
Perhaps the failure you are reporting is platform specific? If so, could you provide a log?
here is the one for Comeau
http://tinyurl.com/68zwq8here is the one for Intel
Robert Ramey
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

here is the one for Comeau http://tinyurl.com/68zwq8 The comeau pre-linker complains when building wserialization.lib (which depends up serialization.lib) about multiply defined symbols. here is the one for Intel and http://tinyurl.com/6zxm77 Of course I don't know this this is the same thing as the message is not informatiive. I'm just speculating that the usage of the term "symbol count" might suggest a similar problem when the intel code tries to link. Thanks for looking into this. Robert Ramey Emil Dotchevski wrote:
The first link is broken.
The second link indicates ld internal error. How is this related to Boost Exception?
Hint: you can check if Boost Exception causes problems by disabling it temporarily -- just #define BOOST_EXCEPTION_DISABLE (this does not disable exceptions, it only reverts <boost/throw_exception.hpp> to its legacy behavior.)
HTH, Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode
On Sat, Jul 5, 2008 at 4:31 PM, Robert Ramey <ramey@rrsd.com> wrote:
Emil Dotchevski wrote:
I routinely link boost::thread, boost::regex and boost::filesystem (which I assume all use boost::exception through boost::throw_exception) in the same executable, on msvc 8/9 and on linux/gcc.
Perhaps the failure you are reporting is platform specific? If so, could you provide a log?
here is the one for Comeau
here is the one for Intel
Robert Ramey
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Robert, Please try revision 47126 of the main development trunk and let me know if it fixes the problem with Comeau. Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode On Sat, Jul 5, 2008 at 5:33 PM, Robert Ramey <ramey@rrsd.com> wrote:
here is the one for Comeau http://tinyurl.com/68zwq8
The comeau pre-linker complains when building wserialization.lib (which depends up serialization.lib) about multiply defined symbols.
here is the one for Intel
Of course I don't know this this is the same thing as the message is not informatiive. I'm just speculating that the usage of the term "symbol count" might suggest a similar problem when the intel code tries to link.
Thanks for looking into this.
Robert Ramey
Emil Dotchevski wrote:
The first link is broken.
The second link indicates ld internal error. How is this related to Boost Exception?
Hint: you can check if Boost Exception causes problems by disabling it temporarily -- just #define BOOST_EXCEPTION_DISABLE (this does not disable exceptions, it only reverts <boost/throw_exception.hpp> to its legacy behavior.)
HTH, Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode
On Sat, Jul 5, 2008 at 4:31 PM, Robert Ramey <ramey@rrsd.com> wrote:
Emil Dotchevski wrote:
I routinely link boost::thread, boost::regex and boost::filesystem (which I assume all use boost::exception through boost::throw_exception) in the same executable, on msvc 8/9 and on linux/gcc.
Perhaps the failure you are reporting is platform specific? If so, could you provide a log?
here is the one for Comeau
here is the one for Intel
Robert Ramey
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
participants (2)
-
Emil Dotchevski
-
Robert Ramey