Boost logo

Boost Users :

From: Manuel Oswald (manuel.oswald_at_[hidden])
Date: 2008-05-26 08:58:00


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


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net