Hi,
the non-wchar_t variant of Boost.Serialization fails to link on Cygwin
because codecvt_null<wchar_t> tries to use std::codecvt<wchar_t> as base but
std::codecvt<wchar_t> doesn't seem to be present in Cygwin's libstdc++. The
output of the failing build is attached.
--
wilx
warning: skipping optional Message Passing Interface (MPI) library.
note: to enable MPI support, add "using mpi ;" to user-config.jam.
note: to suppress this message, pass "--without-mpi" to bjam.
note: otherwise, you can safely ignore this message.
Building Boost.Regex with the optional Unicode/ICU support disabled.
Please refer to the Boost.Regex documentation for more information
(don't panic: this is a strictly optional feature).
...patience...
...patience...
...found 4222 targets...
...updating 14 targets...
gcc.link.dll bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/libboost_serialization-gcc34-mt-1_35.dll.a
"g++" "-Wl,--out-implib,bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/libboost_serialization-gcc34-mt-1_35.dll.a" -o "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/cygboost_serialization-gcc34-mt-1_35.dll" -Wl,-h -Wl,cygboost_serialization-gcc34-mt-1_35.dll -shared -Wl,--start-group "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/extended_type_info.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/extended_type_info_no_rtti.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/extended_type_info_typeid.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/polymorphic_iarchive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/polymorphic_oarchive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/stl_port.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/text_iarchive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/text_oarchive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/void_cast.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/xml_grammar.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/xml_iarchive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/xml_oarchive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_archive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_iarchive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_iserializer.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_oarchive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_oserializer.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_pointer_iserializer.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_pointer_oserializer.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_serializer_map.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_text_iprimitive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_text_oprimitive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_xml_archive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/binary_iarchive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/binary_oarchive.o" "bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o" -Wl,-Bstatic -Wl,-Bdynamic -Wl,--end-group -Wl,--strip-all -mthreads
bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o:codecvt_null.cpp:(.rdata$_ZTVN5boost7archive12codecvt_nullIwEE[vtable for boost::archive::codecvt_null<wchar_t>]+0x14): undefined reference to `std::codecvt<wchar_t, char, _mbstate_t>::do_unshift(_mbstate_t&, char*, char*, char*&) const'
bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o:codecvt_null.cpp:(.rdata$_ZTVN5boost7archive12codecvt_nullIwEE[vtable for boost::archive::codecvt_null<wchar_t>]+0x20): undefined reference to `std::codecvt<wchar_t, char, _mbstate_t>::do_always_noconv() const'
bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o:codecvt_null.cpp:(.rdata$_ZTVN5boost7archive12codecvt_nullIwEE[vtable for boost::archive::codecvt_null<wchar_t>]+0x24): undefined reference to `std::codecvt<wchar_t, char, _mbstate_t>::do_length(_mbstate_t&, char const*, char const*, unsigned int) const'
bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o:codecvt_null.cpp:(.rdata$_ZTVSt7codecvtIwc10_mbstate_tE[vtable for std::codecvt<wchar_t, char, _mbstate_t>]+0x10): undefined reference to `std::codecvt<wchar_t, char, _mbstate_t>::do_out(_mbstate_t&, wchar_t const*, wchar_t const*, wchar_t const*&, char*, char*, char*&) const'
bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o:codecvt_null.cpp:(.rdata$_ZTVSt7codecvtIwc10_mbstate_tE[vtable for std::codecvt<wchar_t, char, _mbstate_t>]+0x14): undefined reference to `std::codecvt<wchar_t, char, _mbstate_t>::do_unshift(_mbstate_t&, char*, char*, char*&) const'
bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o:codecvt_null.cpp:(.rdata$_ZTVSt7codecvtIwc10_mbstate_tE[vtable for std::codecvt<wchar_t, char, _mbstate_t>]+0x18): undefined reference to `std::codecvt<wchar_t, char, _mbstate_t>::do_in(_mbstate_t&, char const*, char const*, char const*&, wchar_t*, wchar_t*, wchar_t*&) const'
bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o:codecvt_null.cpp:(.rdata$_ZTVSt7codecvtIwc10_mbstate_tE[vtable for std::codecvt<wchar_t, char, _mbstate_t>]+0x1c): undefined reference to `std::codecvt<wchar_t, char, _mbstate_t>::do_encoding() const'
bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o:codecvt_null.cpp:(.rdata$_ZTVSt7codecvtIwc10_mbstate_tE[vtable for std::codecvt<wchar_t, char, _mbstate_t>]+0x20): undefined reference to `std::codecvt<wchar_t, char, _mbstate_t>::do_always_noconv() const'
bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o:codecvt_null.cpp:(.rdata$_ZTVSt7codecvtIwc10_mbstate_tE[vtable for std::codecvt<wchar_t, char, _mbstate_t>]+0x24): undefined reference to `std::codecvt<wchar_t, char, _mbstate_t>::do_length(_mbstate_t&, char const*, char const*, unsigned int) const'
bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/codecvt_null.o:codecvt_null.cpp:(.rdata$_ZTVSt7codecvtIwc10_mbstate_tE[vtable for std::codecvt<wchar_t, char, _mbstate_t>]+0x28): undefined reference to `std::codecvt<wchar_t, char, _mbstate_t>::do_max_length() const'
Creating library file: bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/libboost_serialization-gcc34-mt-1_35.dll.a
collect2: ld returned 1 exit status
...failed gcc.link.dll bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/libboost_serialization-gcc34-mt-1_35.dll.a bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/cygboost_serialization-gcc34-mt-1_35.dll...
...removing bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/libboost_serialization-gcc34-mt-1_35.dll.a
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_text_wiprimitive.o
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\basic_text_wiprimitive.o" "libs\serialization\src\basic_text_wiprimitive.cpp"
libs\serialization\src\basic_text_wiprimitive.cpp:14:2: #error "wide char i/o not supported on this platform"
...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_text_wiprimitive.o...
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_text_woprimitive.o
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\basic_text_woprimitive.o" "libs\serialization\src\basic_text_woprimitive.cpp"
libs\serialization\src\basic_text_woprimitive.cpp:14:2: #error "wide char i/o not supported on this platform"
...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/basic_text_woprimitive.o...
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/binary_wiarchive.o
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\binary_wiarchive.o" "libs\serialization\src\binary_wiarchive.cpp"
libs\serialization\src\binary_wiarchive.cpp:14:2: #error "wide char i/o not supported on this platform"
...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/binary_wiarchive.o...
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/binary_woarchive.o
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\binary_woarchive.o" "libs\serialization\src\binary_woarchive.cpp"
libs\serialization\src\binary_woarchive.cpp:14:2: #error "wide char i/o not supported on this platform"
...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/binary_woarchive.o...
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/text_wiarchive.o
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\text_wiarchive.o" "libs\serialization\src\text_wiarchive.cpp"
libs\serialization\src\text_wiarchive.cpp:14:2: #error "wide char i/o not supported on this platform"
...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/text_wiarchive.o...
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/text_woarchive.o
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\text_woarchive.o" "libs\serialization\src\text_woarchive.cpp"
libs\serialization\src\text_woarchive.cpp:13:2: #error "wide char i/o not supported on this platform"
...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/text_woarchive.o...
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/utf8_codecvt_facet.o
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\utf8_codecvt_facet.o" "libs\serialization\src\utf8_codecvt_facet.cpp"
libs\serialization\src\utf8_codecvt_facet.cpp:8:2: #error "wide char i/o not supported on this platform"
...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/utf8_codecvt_facet.o...
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/xml_wgrammar.o
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\xml_wgrammar.o" "libs\serialization\src\xml_wgrammar.cpp"
libs\serialization\src\xml_wgrammar.cpp:14:2: #error "wide char i/o not supported on this platform"
...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/xml_wgrammar.o...
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/xml_wiarchive.o
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\xml_wiarchive.o" "libs\serialization\src\xml_wiarchive.cpp"
libs\serialization\src\xml_wiarchive.cpp:13:2: #error "wide char i/o not supported on this platform"
...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/xml_wiarchive.o...
gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/xml_woarchive.o
"g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -I"." -c -o "bin.v2\libs\serialization\build\gcc-3.4.4\release\threading-multi\xml_woarchive.o" "libs\serialization\src\xml_woarchive.cpp"
libs\serialization\src\xml_woarchive.cpp:13:2: #error "wide char i/o not supported on this platform"
...failed gcc.compile.c++ bin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi/xml_woarchive.o...
...skipped <pbin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi>libboost_wserialization-gcc34-mt-1_35.dll.a for lack of <pbin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi>basic_text_wiprimitive.o...
...skipped <pbin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi>cygboost_wserialization-gcc34-mt-1_35.dll for lack of <pbin.v2/libs/serialization/build/gcc-3.4.4/release/threading-multi>basic_text_wiprimitive.o...
...failed updating 12 targets...
...skipped 2 targets...