newbie: boost_1_35_0 with stlport-5.1.5 under mingw
hi all, I'm an absolutly newbie and am struggling with building boost under mingw with stlport. My configuration: Windows XP service pack 2 mingw (current versions of all needed parts) msys as command prompt stlport 5.1.5 boost 1_35_0 building stlport works fine, unit tests are all compiled and all test are ok. Building a small test project (using std::strings, fstreams and wchar_t) also works fine. When building boost without stlport, all libs are build except the serialization-lib where the reasons seems to be that gcc3.4.5 doesn't support wchar_t type. building boost with stlport only produces some of the libs. how i build stlport: - i unpacked stlport to "d:/se/libs/stlport-5.1.5" and changed to folder "./build/lib" - configure - mingw32-make -fgcc.mak clobber depend install (i only want to use dynamic libs) how i build boost with stlport: in file boost_1_35_0/tools/build/v2/user-config.jam i added: using stlport : 5.1.5 : d:/se/libs/stlport-5.1.5/stlport d:/se/libs/stlport-5.1.5/lib ; then i run the configure-skript, which gives the following erros (in a messagebox, may not be the correct error, as i had to translate it from german): rxvt00000cbc the NTVDM-CPU has detected an illegal command CS:0fe5 IP:20e3 OP:63 68 74 20 7a where i press the ingnore-button (googling didn't give me an explanation) then i run bjam like that: bjam -a -d2 --toolset=gcc stdlib=stlport stage some libs can't be build because of their dependencies on other boost libs, e.g. wave-lib can't be build because thread-lib can't be build most can't be build due to the following errors (which I don't get when building without stlport): gcc.compile.c++ in.v2\libs\serialization\build\gcc-mingw-3.4.5\release\stdlib-stlport-5.1.5\threading-multi\xml_grammar.o "g++" -ftemplate-depth-128 -O3 -finline-functions -Wno-inline -Wall -mthreads -DBOOST_ALL_NO_LIB=1 -DBOOST_SERIALIZATION_DYN_LINK=1 -DNDEBUG -D_STLP_USE_DYNAMIC_LIB=1 -I"." -I"d:\se\libs\stlport-5.1.5\stlport" -c -o "bin.v2\libs\serialization\build\gcc-mingw-3.4.5\release\stdlib-stlport-5.1.5\threading-multi\xml_grammar.o" "libs\serialization\src\xml_grammar.cpp" In file included from ./boost/function/detail/prologue.hpp:17, from ./boost/function.hpp:24, from libs\serialization\src\basic_xml_grammar.ipp:26, from libs\serialization\src\xml_grammar.cpp:63: ./boost/function/function_base.hpp: In static member function `static void boost::detail::function::reference_manager<F>::manage(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type)': ./boost/function/function_base.hpp:232: error: expected initializer before '&' token ./boost/function/function_base.hpp:234: error: `check_type' was not declared in this scope ./boost/function/function_base.hpp: In static member function `static void boost::detail::function::functor_manager<Functor, Allocator>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, boost::detail::function::function_ptr_tag)': ./boost/function/function_base.hpp:282: error: expected initializer before '&' token ./boost/function/function_base.hpp:284: error: `check_type' was not declared in this scope ./boost/function/function_base.hpp: In static member function `static void boost::detail::function::functor_manager<Functor, Allocator>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, mpl_::true_)': ./boost/function/function_base.hpp:304: error: expected initializer before '&' token ./boost/function/function_base.hpp:306: error: `check_type' was not declared in this scope ./boost/function/function_base.hpp: In static member function `static void boost::detail::function::functor_manager<Functor, Allocator>::manager(const boost::detail::function::function_buffer&, boost::detail::function::function_buffer&, boost::detail::function::functor_manager_operation_type, mpl_::false_)': ./boost/function/function_base.hpp:365: error: expected initializer before '&' token ./boost/function/function_base.hpp:367: error: `check_type' was not declared in this scope ./boost/function/function_base.hpp: At global scope: ./boost/function/function_base.hpp:505: error: ISO C++ forbids declaration of `type_info' with no type ./boost/function/function_base.hpp:505: error: invalid use of `::' ./boost/function/function_base.hpp:505: error: expected `;' before '&' token ./boost/function/function_base.hpp:514: error: expected `;' before "template" ./boost/spirit/core/primitives/primitives.hpp: In member function `bool boost::spirit::chlit<CharT>::test(T) const [with T = char, CharT = wchar_t]': ./boost/spirit/core/primitives/primitives.hpp:55: instantiated from `typename boost::spirit::parser_result<DerivedT, ScannerT>::type boost::spirit::char_parser<DrivedT>::parse(const ScannerT&) const [with ScannerT = boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, DerivedT = boost::spirit::chlit<wchar_t>]' ./boost/spirit/core/composite/sequence.hpp:54: instantiated from `typename boost::spirit::parser_result<boost::spirit::sequence<A, B>, ScannerT>::type boost::spirit::sequence<A, B>::parse(const ScannerT&) const [with ScannerT = boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, A = boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::optional<boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::strlit<const wchar_t*> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::optional<boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> > >, B = boost::spirit::chlit<wchar_t>]' ./boost/spirit/core/non_terminal/impl/rule.ipp:233: instantiated from `typename boost::spirit::match_result<ScannerT, AttrT>::type boost::spirit::impl::concrete_parser<ParserT, ScannerT, AttrT>::do_parse_virtual(const ScannerT&) const [with ParserT = boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::optional<boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::strlit<const wchar_t*> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::optional<boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> > >, boost::spirit::chlit<wchar_t> >, ScannerT = boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, AttrT = boost::spirit::nil_t]' libs\serialization\src\xml_grammar.cpp:71: instantiated from here ./boost/spirit/core/primitives/primitives.hpp:118: warning: comparison between signed and unsigned integer expressions ./boost/spirit/core/primitives/impl/primitives.ipp: In function `RT boost::spirit::impl::string_parser_parse(IteratorT, IteratorT, ScannerT&) [with RT = boost::spirit::match<boost::spirit::nil_t>, IteratorT = const wchar_t*, ScannerT = const boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >]': ./boost/spirit/core/primitives/primitives.hpp:197: instantiated from `typename boost::spirit::parser_result<boost::spirit::chseq<IteratorT>, ScannerT>::type boost::spirit::chseq<IteratorT>::parse(const ScannerT&) const [with ScannerT = boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, IteratorT = const wchar_t*]' ./boost/spirit/core/composite/impl/directives.ipp:74: instantiated from `RT boost::spirit::impl::contiguous_parser_parse(const ST&, const ScannerT&, const boost::spirit::iteration_policy&) [with RT = boost::spirit::match<boost::spirit::nil_t>, ST = boost::spirit::chseq<const wchar_t*>, ScannerT = boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >]' ./boost/spirit/core/primitives/primitives.hpp:246: instantiated from `typename boost::spirit::parser_result<boost::spirit::strlit<IteratorT>, ScannerT>::type boost::spirit::strlit<IteratorT>::parse(const ScannerT&) const [with ScannerT = boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, IteratorT = const wchar_t*]' ./boost/spirit/core/composite/sequence.hpp:54: instantiated from `typename boost::spirit::parser_result<boost::spirit::sequence<A, B>, ScannerT>::type boost::spirit::sequence<A, B>::parse(const ScannerT&) const [with ScannerT = boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, A = boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::optional<boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::strlit<const wchar_t*> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::strlit<const wchar_t*> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::strlit<const wchar_t*> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::optional<boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> > >, B = boost::spirit::strlit<const wchar_t*>]' ./boost/spirit/core/non_terminal/impl/rule.ipp:233: instantiated from `typename boost::spirit::match_result<ScannerT, AttrT>::type boost::spirit::impl::concrete_parser<ParserT, ScannerT, AttrT>::do_parse_virtual(const ScannerT&) const [with ParserT = boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::sequence<boost::spirit::optional<boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::strlit<const wchar_t*> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::strlit<const wchar_t*> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::strlit<const wchar_t*> >, boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> >, boost::spirit::optional<boost::spirit::rule<boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, boost::spirit::nil_t, boost::spirit::nil_t> > >, boost::spirit::strlit<const wchar_t*> >, ScannerT = boost::spirit::scanner<char*, boost::spirit::scanner_policies<boost::spirit::iteration_policy, boost::spirit::match_policy, boost::spirit::action_policy> >, AttrT = boost::spirit::nil_t]' libs\serialization\src\xml_grammar.cpp:71: instantiated from here ./boost/spirit/core/primitives/impl/primitives.ipp:65: warning: comparison between signed and unsigned integer expressions ...failed gcc.compile.c++ bin.v2\libs\serialization\build\gcc-mingw-3.4.5\release\stdlib-stlport-5.1.5\threading-multi\xml_grammar.o... gcc.compile.c++ bin.v2\libs\serialization\build\gcc-mingw-3.4.5\release\stdlib-stlport-5.1.5\threading-multi\xml_iarchive.o what i'm doing wrong. i searched the mailing list for days now but can't find something that solves the problem. regards manuel
participants (1)
-
Manuel Oswald