What boost version is required to build mapnik 2.1?

53 views
Skip to first unread message

devq

unread,
May 16, 2013, 8:28:46 AM5/16/13
to map...@googlegroups.com
Hello,


I am trying to build mapnik 2.1 on Windows 7, Visual Studio 2010. I followed instructions provided in "Building Mapnik dependencies on Windows" (https://github.com/mapnik/mapnik-packaging/blob/master/windows/building_mapnik_dependencies.md)

Now I am building mapnik using build_mapnik.bat (https://github.com/mapnik/mapnik-packaging/blob/master/windows/build_mapnik.bat) but not successfully. 

Question: What boost version is required to build mapnik 2.1? 

I downloaded mapnik by using link: https://github.com/mapnik/mapnik/zipball/master and have tried different versions of boost: 49, 50, 51 and now 53. 

Here some of errors:

c:\dev2\boost-53-vc100\include\boost-1_53\boost/proto/extends.hpp(537) : error C2512: 'boost::proto::exprns_::expr<Tag,Args,Arity>' : no appropriate default constructor available
        with
        [
            Tag=boost::proto::tagns_::tag::terminal,
            Args=boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,boost::variant<mapnik::value_type,mapnik::attribute,mapnik::geometry_type_attribute,boost::recursive_wrapper<mapnik::unary_node<mapnik::tags::negate>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::plus>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::minus>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::mult>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::div>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::mod>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::less>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::less_equal>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::greater>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::greater_equal>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::equal_to>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::not_equal_to>>,boost::recursive_wrapper<mapnik::unary_node<mapnik::tags::logical_not>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::logical_and>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::logical_or>>,boost::recursive_wrapper<mapnik::regex_match_node>,boost::recursive_wrapper<mapnik::regex_replace_node>> (void),boost::spirit::standard_wide::space_type,boost::spirit::unused_type,boost::spirit::unused_type>>>,
            Arity=0
        ]
        c:\dev2\boost-53-vc100\include\boost-1_53\boost/proto/extends.hpp(535) : while compiling class template member function 'boost::proto::exprns_::extends<Expr,Derived>::extends(void)'
        with
        [
            Expr=boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,boost::variant<mapnik::value_type,mapnik::attribute,mapnik::geometry_type_attribute,boost::recursive_wrapper<mapnik::unary_node<mapnik::tags::negate>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::plus>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::minus>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::mult>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::div>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::mod>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::less>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::less_equal>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::greater>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::greater_equal>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::equal_to>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::not_equal_to>>,boost::recursive_wrapper<mapnik::unary_node<mapnik::tags::logical_not>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::logical_and>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::logical_or>>,boost::recursive_wrapper<mapnik::regex_match_node>,boost::recursive_wrapper<mapnik::regex_replace_node>> (void),boost::spirit::standard_wide::space_type,boost::spirit::unused_type,boost::spirit::unused_type>>>,0>,
            Derived=boost::spirit::qi::grammar<std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,mapnik::expr_node (void),boost::spirit::standard_wide::space_type>
        ]
        c:\dev2\boost-53-vc100\include\boost-1_53\boost/spirit/home/qi/nonterminal/grammar.hpp(36) : see reference to class template instantiation 'boost::proto::exprns_::extends<Expr,Derived>' being compiled
        with
        [
            Expr=boost::proto::exprns_::expr<boost::proto::tagns_::tag::terminal,boost::proto::argsns_::term<boost::spirit::qi::reference<const boost::spirit::qi::rule<std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,boost::variant<mapnik::value_type,mapnik::attribute,mapnik::geometry_type_attribute,boost::recursive_wrapper<mapnik::unary_node<mapnik::tags::negate>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::plus>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::minus>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::mult>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::div>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::mod>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::less>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::less_equal>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::greater>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::greater_equal>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::equal_to>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::not_equal_to>>,boost::recursive_wrapper<mapnik::unary_node<mapnik::tags::logical_not>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::logical_and>>,boost::recursive_wrapper<mapnik::binary_node<mapnik::tags::logical_or>>,boost::recursive_wrapper<mapnik::regex_match_node>,boost::recursive_wrapper<mapnik::regex_replace_node>> (void),boost::spirit::standard_wide::space_type,boost::spirit::unused_type,boost::spirit::unused_type>>>,0>,
            Derived=boost::spirit::qi::grammar<std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,mapnik::expr_node (void),boost::spirit::standard_wide::space_type>
        ]
        c:\dev2\mapnik\include\mapnik/expression_grammar.hpp(121) : see reference to class template instantiation 'boost::spirit::qi::grammar<Iterator,T1,T2>' being compiled
        with
        [
            Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>,
            T1=mapnik::expr_node (void),
            T2=boost::spirit::standard_wide::space_type
        ]
        c:\dev2\mapnik\src\expression_grammar.cpp(188) : see reference to class template instantiation 'mapnik::expression_grammar<Iterator>' being compiled
        with
        [
            Iterator=std::_String_const_iterator<char,std::char_traits<char>,std::allocator<char>>
        ]

    call "C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
cl /Zm800 -nologo @"build\src\msvc-10.0\release\threading-multi\expression_grammar.obj.rsp" 

...failed compile-c-c++ build\src\msvc-10.0\release\threading-multi\expression_grammar.obj...

............................

c:\dev2\boost-53-vc100\include\boost-1_53\boost/proto/extends.hpp(537) : error C2512: 'boost::proto::exprns_::expr<Tag,Args,Arity>' : no appropriate default constructor available
..................................


Dane Springmeyer

unread,
May 16, 2013, 10:44:21 AM5/16/13
to map...@googlegroups.com
Hi,

Downloading Mapnik from https://github.com/mapnik/mapnik/zipball/master will give you a snapshot of Mapnik 2.2.0-pre.

It looks like you grabbed a version right before I fixed this problem in https://github.com/mapnik/mapnik/commit/14d6c3b80b79b5215cde1322624dd4bee5fad257

I recommend using git to clone the master repository so you can stay up to date with changes and fixes.

I am actively working on windows build issues right now.

Dane
--
You received this message because you are subscribed to the Google Groups "mapnik" group.
To unsubscribe from this group and stop receiving emails from it, send an email to mapnik+un...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

devq

unread,
May 20, 2013, 7:54:36 AM5/20/13
to map...@googlegroups.com
Hi,

First of all thank you Dane! Your instructions and last changes fixed moust of errors.

I took latest source files using GitHub client for windows with latest changes, recompiled all dependencies successfully. 

But when compiling manik there two errors. Here they are: 

msvc.link.dll build\plugins\input\ogr\msvc-10.0\release\threading-multi\ogr.input
LINK : fatal error LNK1181: cannot open input file 'libexpat.lib'

        call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
link /NOLOGO /INCREMENTAL:NO /DLL /MACHINE:X86 /subsystem:console /out:"build\plugins\input\ogr\msvc-10.0\release\threading-multi\ogr.input" /IMPLIB:"build\plugins\input\ogr\msvc-10.0\release\threading-multi\ogr.lib" /LIBPATH:"C:\Program Files (x86)\Expat 2.1.0\bin" /LIBPATH:"c:\Program Files\MicrosoftSDKs\Windows\v7.0A\Lib" /LIBPATH:"c:\dev2\boost-49-vc100\lib" /LIBPATH:"c:\dev2\gdal" /LIBPATH:"c:\dev2\icu\lib"   @"build\plugins\input\ogr\msvc-10.0\release\threading-multi\ogr.input.rsp"
        if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
    
...failed msvc.link.dll build\plugins\input\ogr\msvc-10.0\release\threading-multi\ogr.input build\plugins\input\ogr\msvc-10.0\release\threading-multi\ogr.lib...
...skipped <pc:\mapnik-2.1\lib\mapnik\input>ogr.input for lack of <pbuild\plugins\input\ogr\msvc-10.0\release\threading-multi>ogr.input...
...skipped <pc:\mapnik-2.1\lib\mapnik\input>ogr.lib for lack of <pbuild\plugins\input\ogr\msvc-10.0\release\threading-multi>ogr.input...
common.copy c:\mapnik-2.1\lib\mapnik\fonts\DejaVuSans-BoldOblique.ttf
c:\dev2\mapnik\fonts\dejavu-fonts-ttf-2.33\ttf\DejaVuSans-BoldOblique.ttf
        1 file(s) copied.

and:

msvc.link.dll build\bindings\python\msvc-10.0\release\threading-multi\_mapnik.pyd
LINK : fatal error LNK1181: cannot open input file 'boost_python-vc100-mt-1_49.lib'

        call "c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\vcvarsall.bat" x86 >nul
link /NOLOGO /INCREMENTAL:NO /DLL /MACHINE:X86 /subsystem:console /out:"build\bindings\python\msvc-10.0\release\threading-multi\_mapnik.pyd" /IMPLIB:"build\bindings\python\msvc-10.0\release\threading-multi\_mapnik.lib" /LIBPATH:"C:\Python27\libs" /LIBPATH:"c:\dev2\boost-49-vc100\lib" /LIBPATH:"c:\dev2\icu\lib"   @"build\bindings\python\msvc-10.0\release\threading-multi\_mapnik.pyd.rsp"
        if %ERRORLEVEL% NEQ 0 EXIT %ERRORLEVEL%
    
...failed msvc.link.dll build\bindings\python\msvc-10.0\release\threading-multi\_mapnik.pyd build\bindings\python\msvc-10.0\release\threading-multi\_mapnik.lib...
...skipped <pc:\mapnik-2.1\python\2.7\site-packages\mapnik>_mapnik.pyd for lack of <pbuild\bindings\python\msvc-10.0\release\threading-multi>_mapnik.pyd...
...skipped <pc:\mapnik-2.1\python\2.7\site-packages\mapnik>_mapnik.lib for lack of <pbuild\bindings\python\msvc-10.0\release\threading-multi>_mapnik.lib...


Question 1: I know, issue  #1  is issue of linker. I have libexpat.lib in c:\dev2\Expat\Bin\ but I do not know where can I specify path to libexpat.lib file.
Question 2: I do not have boost_python-vc100-mt-1_49.lib in c:\dev2\boost-49-vc100\lib\ I built boost using commands below:

bjam toolset=msvc -j2 --prefix=..\\%BOOST_PREFIX% --with-thread --with-filesystem --with-date_time --with-system --with-program_options --with-regex --with-chrono --disable-filesystem2 -sHAVE_ICU=1 -sICU_PATH=%ROOTDIR%\\icu -sICU_LINK=%ROOTDIR%\\icu\\lib\\icuuc.lib release link=static install --build-type=complete

when building finished I run this:

bjam toolset=msvc -j2 --prefix=..\\%BOOST_PREFIX% --with-python python=2.7 release link=static --build-type=complete install


Probably I should add "--with-python python=2.7" to the first command and skip second command?

Vitaly


четверг, 16 мая 2013 г., 17:44:21 UTC+3 пользователь Dane Springmeyer написал:
Reply all
Reply to author
Forward
0 new messages