[asio, system] breakage on svn trunk

The asio tests fail to build on Solaris 10 with gcc 4.2.1 due to apparent changes in the Boost.System library. Chris, see also warnings about 'missing braces aroung initializer': "/openpkg-current/bin/g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC -pthreads -DBOOST_ALL_ NO_LIB=1 -DBOOST_ASIO_DISABLE_EPOLL -DBOOST_ASIO_DISABLE_IOCP -DBOOST_ASIO_DISABLE_KQUEUE -DBOOST_DATE_TIME _DYN_LINK=1 -DBOOST_THREAD_BUILD_DLL=1 -DDATE_TIME_INLINE -D_XOPEN_SOURCE=500 -D__EXTENSIONS__ -I"../../.. " -c -o "../../../bin.v2/libs/asio/test/buffered_stream_select.test/gcc-4.2.1_sunos_i86pc/debug/threading-m ulti/buffered_stream.o" "buffered_stream.cpp" In file included from ../../../boost/asio/buffered_read_stream.hpp:29, from ../../../boost/asio/buffered_stream.hpp:25, from buffered_stream.cpp:17: ../../../boost/asio/error.hpp:89: error: 'wstring_t' in namespace 'boost::system' does not name a type ../../../boost/asio/error.hpp:95: error: 'wstring_t' in namespace 'boost::system' does not name a type ../../../boost/asio/error.hpp:102: error: 'wstring_t' in namespace 'boost::system' does not name a type ../../../boost/asio/error.hpp:107: error: 'wstring_t' in namespace 'boost::system' does not name a type ../../../boost/asio/error.hpp: In static member function 'static boost::system::error_category boost::asio: :detail::error_base<T>::netdb_ecat()': ../../../boost/asio/error.hpp:239: error: 'new_category' is not a member of 'boost::system::error_code' ../../../boost/asio/error.hpp: In static member function 'static int boost::asio::detail::error_base<T>::ne tdb_ed(const boost::system::error_code&)': ../../../boost/asio/error.hpp:247: error: 'EOTHER' was not declared in this scope ../../../boost/asio/error.hpp: At global scope: ../../../boost/asio/error.hpp:265: error: expected constructor, destructor, or type conversion before 'error_base' ../../../boost/asio/error.hpp: In static member function 'static boost::system::error_category boost::asio::detail::error_base<T>::addrinfo_ecat()': ../../../boost/asio/error.hpp:283: error: 'new_category' is not a member of 'boost::system::error_code' ../../../boost/asio/error.hpp: In static member function 'static int boost::asio::detail::error_base<T>::addrinfo_ed(const boost::system::error_code&)': ../../../boost/asio/error.hpp:291: error: 'EOTHER' was not declared in this scope ../../../boost/asio/error.hpp: At global scope: ../../../boost/asio/error.hpp:305: error: expected constructor, destructor, or type conversion before 'erro r_base' ../../../boost/asio/error.hpp: In static member function 'static boost::system::error_category boost::asio: :detail::error_base<T>::misc_ecat()': ../../../boost/asio/error.hpp:321: error: 'new_category' is not a member of 'boost::system::error_code' ../../../boost/asio/error.hpp: In static member function 'static int boost::asio::detail::error_base<T>::misc_ed(const boost::system::error_code&)': ../../../boost/asio/error.hpp:329: error: 'EOTHER' was not declared in this scope ../../../boost/asio/error.hpp: At global scope: ../../../boost/asio/error.hpp:345: error: expected constructor, destructor, or type conversion before 'error_base' ../../../boost/asio/error.hpp: In static member function 'static boost::system::error_category boost::asio::detail::error_base<T>::ssl_ecat()': ../../../boost/asio/error.hpp:361: error: 'new_category' is not a member of 'boost::system::error_code' ../../../boost/asio/error.hpp: In static member function 'static int boost::asio::detail::error_base<T>::ssl_ed(const boost::system::error_code&)': ../../../boost/asio/error.hpp:369: error: 'EOTHER' was not declared in this scope ../../../boost/asio/error.hpp: At global scope: ../../../boost/asio/error.hpp:379: error: expected constructor, destructor, or type conversion before 'error_base' In file included from ../../../boost/asio/ip/address.hpp:28, from ../../../boost/asio.hpp:41, from buffered_stream.cpp:21: ../../../boost/asio/ip/address_v6.hpp: In constructor 'boost::asio::ip::address_v6::address_v6()': ../../../boost/asio/ip/address_v6.hpp:58: warning: missing braces around initializer for 'in6_addr::<anonymous union>' ../../../boost/asio/ip/address_v6.hpp:58: warning: missing braces around initializer for 'uint8_t [16]' ../../../boost/asio/ip/address_v6.hpp: In static member function 'static boost::asio::ip::address_v6 boost::asio::ip::address_v6::loopback()': ../../../boost/asio/ip/address_v6.hpp:340: warning: missing braces around initializer for 'in6_addr::<anonymous union>' ../../../boost/asio/ip/address_v6.hpp:340: warning: missing braces around initializer for 'uint8_t [16]' ../../../boost/asio/ip/basic_endpoint.hpp: In constructor 'boost::asio::ip::basic_endpoint<InternetProtocol>::basic_endpoint(const InternetProtocol&, short unsigned int) [with InternetProtocol = boost::asio::ip::tcp]': buffered_stream.cpp:34: instantiated from here ../../../boost/asio/ip/basic_endpoint.hpp:121: warning: missing braces around initializer for 'in6_addr::<anonymous union>' ../../../boost/asio/ip/basic_endpoint.hpp:121: warning: missing braces around initializer for 'uint8_t [16]' ../../../boost/noncopyable.hpp: In copy constructor 'boost::system::error_category::error_category(const boost::system::error_category&)': ../../../boost/noncopyable.hpp:27: error: 'boost::noncopyable_::noncopyable::noncopyable(const boost::noncopyable_::noncopyable&)' is private ../../../boost/system/error_code.hpp:146: error: within this context ../../../boost/asio/error.hpp: At global scope: ../../../boost/asio/error.hpp:426: note: synthesized method 'boost::system::error_category::error_category(const boost::system::error_category&)' first required here -- Caleb Epstein

Caleb Epstein wrote:
The asio tests fail to build on Solaris 10 with gcc 4.2.1 due to apparent changes in the Boost.System library.
Chris and I are coordinating a set of changes. There is a problem with the Boost.System build/Jamfile.v2. I've just committed the fix he suggested. A bit tough to test since it what appears to be the same usage is failing for asio tests but working for system tests. --Beman

Caleb Epstein wrote:
The asio tests fail to build on Solaris 10 with gcc 4.2.1 due to apparent changes in the Boost.System library.
Yep, I only got a chance to check the necessary changes in just now.
Chris, see also warnings about 'missing braces aroung initializer':
Yeah, I've seen this. It seems the macros like IN6ADDR_LOOPBACK_INIT are not fully bracketed on solaris. I'll add a workaround sometime soon. Cheers, Chris

gcc.compile.c++ bin.v2/libs/filesystem/build/gcc-4.1.2/debug/threading-multi/path.o libs/filesystem/src/path.cpp: In static member function ‘static std::string boost::filesystem::wpath_traits::to_external(const boost::filesystem::wpath&, const std::wstring&)’: libs/filesystem/src/path.cpp:128: error: ‘system_category’ was not declared in this scope libs/filesystem/src/path.cpp: In static member function ‘static std::wstring boost::filesystem::wpath_traits::to_internal(const std::string&)’: libs/filesystem/src/path.cpp:147: error: ‘system_category’ was not declared in this scope "g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC -pthread -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1 -I"." -c -o "bin.v2/libs/filesystem/build/gcc-4.1.2/debug/threading-multi/path.o" "libs/filesystem/src/path.cpp"C

Neal Becker wrote:
gcc.compile.c++ bin.v2/libs/filesystem/build/gcc-4.1.2/debug/threading-multi/path.o libs/filesystem/src/path.cpp: In static member function ‘static std::string boost::filesystem::wpath_traits::to_external(const boost::filesystem::wpath&, const std::wstring&)’: libs/filesystem/src/path.cpp:128: error: ‘system_category’ was not declared in this scope libs/filesystem/src/path.cpp: In static member function ‘static std::wstring boost::filesystem::wpath_traits::to_internal(const std::string&)’: libs/filesystem/src/path.cpp:147: error: ‘system_category’ was not declared in this scope
"g++" -ftemplate-depth-128 -O0 -fno-inline -Wall -g -fPIC -pthread -DBOOST_ALL_DYN_LINK=1 -DBOOST_ALL_NO_LIB=1 -DBOOST_SYSTEM_DYN_LINK=1 -I"." -c -o "bin.v2/libs/filesystem/build/gcc-4.1.2/debug/threading-multi/path.o" "libs/filesystem/src/path.cpp"C
FWIW, Neal has now sent in a patch for this in another posting, and it has been applied. --Beman
participants (4)
-
Beman Dawes
-
Caleb Epstein
-
Christopher Kohlhoff
-
Neal Becker