python-mapnik icon indicating copy to clipboard operation
python-mapnik copied to clipboard

python mapnik setup failed

Open prkothan opened this issue 8 years ago • 3 comments

HI All

I have installed mapnik properly. Now I am installing python mapnik by issuing following commands

git clone https://github.com/mapnik/python-mapnik.git git checkout ea5fd11 python setup.py install

It failed with following error.

src/mapnik_map.cpp:538:1: required from here /usr/local/include/boost/python/type_id.hpp:84:9: error: invalid use of incomplete type 'struct mapnik::Featureset' ); ^ In file included from src/mapnik_map.cpp:37:0: /usr/local/include/mapnik/map.hpp:51:8: error: forward declaration of 'struct mapnik::Featureset' struct Featureset; ^ error: command 'c++' failed with exit status 1

Please help.

Regards, Prasanna k Ram

prkothan avatar Jan 06 '17 04:01 prkothan

Same problem here. At what point in time did python-mapnik build against 3.0.12?

aholtzma avatar Jan 09 '17 18:01 aholtzma

Same problem.

Executing python setup.py develop throws this error:

unable to execute 'clang-3.8': No such file or directory
error: command 'clang-3.8' failed with exit status 1

So far no clue as to a solution.

elstoneo avatar Jul 25 '17 16:07 elstoneo

For giggles, I executed sudo python setup.py develop and I got this lovely bunch:

In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:42: error: no template
      named 'coord2f' in namespace 'mapnik'; did you mean 'coord'?
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ~~~~~~~~^
/usr/local/include/boost/geometry/geometries/register/point.hpp:72:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:24:27: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS'
    template<> struct tag<Point> { typedef point_tag type; }; \
                          ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: 'coord' declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:34: error: use of class
      template 'mapnik::coord' requires template arguments
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ^~~~~~~~~~~~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:72:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:24:27: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS'
    template<> struct tag<Point> { typedef point_tag type; }; \
                          ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: template is declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:42: error: no template
      named 'coord2f' in namespace 'mapnik'; did you mean 'coord'?
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ~~~~~~~~^
/usr/local/include/boost/geometry/geometries/register/point.hpp:72:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:25:33: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS'
    template<> struct dimension<Point> : boost::mpl::int_<Dim> {}; \
                                ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: 'coord' declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:34: error: use of class
      template 'mapnik::coord' requires template arguments
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ^~~~~~~~~~~~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:72:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:25:33: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS'
    template<> struct dimension<Point> : boost::mpl::int_<Dim> {}; \
                                ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: template is declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:42: error: no template
      named 'coord2f' in namespace 'mapnik'; did you mean 'coord'?
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ~~~~~~~~^
/usr/local/include/boost/geometry/geometries/register/point.hpp:72:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:26:39: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS'
    template<> struct coordinate_type<Point> { typedef CoordinateType type; }; \
                                      ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: 'coord' declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:34: error: use of class
      template 'mapnik::coord' requires template arguments
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ^~~~~~~~~~~~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:72:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:26:39: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS'
    template<> struct coordinate_type<Point> { typedef CoordinateType type; }; \
                                      ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: template is declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:42: error: no template
      named 'coord2f' in namespace 'mapnik'; did you mean 'coord'?
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ~~~~~~~~^
/usr/local/include/boost/geometry/geometries/register/point.hpp:72:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:27:41: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS'
    template<> struct coordinate_system<Point> { typedef CoordinateSyste...
                                        ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: 'coord' declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:34: error: use of class
      template 'mapnik::coord' requires template arguments
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ^~~~~~~~~~~~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:72:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS(Point, 2, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:27:41: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_TRAITS'
    template<> struct coordinate_system<Point> { typedef CoordinateSyste...
                                        ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: template is declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:42: error: no template
      named 'coord2f' in namespace 'mapnik'; did you mean 'coord'?
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ~~~~~~~~^
/usr/local/include/boost/geometry/geometries/register/point.hpp:73:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 0, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:31:30: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS'
    template<> struct access<Point, Dim> \
                             ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: 'coord' declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:34: error: use of class
      template 'mapnik::coord' requires template arguments
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ^~~~~~~~~~~~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:73:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 0, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:31:30: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS'
    template<> struct access<Point, Dim> \
                             ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: template is declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:42: error: no template
      named 'coord2f' in namespace 'mapnik'; did you mean 'coord'?
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ~~~~~~~~^
/usr/local/include/boost/geometry/geometries/register/point.hpp:74:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 1, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:31:30: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS'
    template<> struct access<Point, Dim> \
                             ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: 'coord' declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:49:34: error: use of class
      template 'mapnik::coord' requires template arguments
BOOST_GEOMETRY_REGISTER_POINT_2D(mapnik::coord2f, float,  boost::geometr...
                                 ^~~~~~~~~~~~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:74:51: note: 
      expanded from macro 'BOOST_GEOMETRY_REGISTER_POINT_2D'
    BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS(Point, 1, CoordinateTy...
                                                  ^~~~~
/usr/local/include/boost/geometry/geometries/register/point.hpp:31:30: note: 
      expanded from macro 'BOOST_GEOMETRY_DETAIL_SPECIALIZE_POINT_ACCESS'
    template<> struct access<Point, Dim> \
                             ^~~~~
/usr/local/include/mapnik/coord.hpp:33:8: note: template is declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:143:76: error: no template
      named 'coord2f' in namespace 'mapnik'; did you mean 'coord'?
  ...struct point_type<mapnik::box2d<float> > { using type = mapnik::coord2f...
                                                             ~~~~~~~~^
/usr/local/include/mapnik/coord.hpp:33:8: note: 'coord' declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:40:
In file included from /usr/local/include/mapnik/geometry/is_valid.hpp:32:
/usr/local/include/mapnik/geometry/boost_adapters.hpp:143:76: error: use of
      class template 'mapnik::coord' requires template arguments
  ...point_type<mapnik::box2d<float> > { using type = mapnik::coord2f; };
                                                              ^
/usr/local/include/mapnik/coord.hpp:33:8: note: template is declared here
struct coord {
       ^
In file included from src/mapnik_geometry.cpp:42:
/usr/local/include/mapnik/geometry/is_empty.hpp:51:37: error: no member named
      'front' in 'mapnik::geometry::polygon<double, rings_container>'
        return geom.empty() || geom.front().empty();
                               ~~~~ ^
In file included from src/mapnik_geometry.cpp:49:
/usr/local/include/mapnik/util/geometry_to_wkb.hpp:291:50: error: cannot refer
      to class template 'geometry_type' without a template argument list
    write(ss, static_cast<int>(geometry::detail::geometry_type()(multi_g...
                               ~~~~~~~~~~~~~~~~~~^
/usr/local/include/mapnik/geometry/geometry_type.hpp:33:8: note: template is
      declared here
struct geometry_type
       ^
src/mapnik_geometry.cpp:145:12: error: no matching function for call to
      'envelope'
    return mapnik::geometry::envelope(geom);
           ^~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/include/mapnik/geometry/envelope.hpp:33:18: note: candidate template
      ignored: substitution failure [with T =
      mapnik::geometry::geometry<double>]: no type named 'coordinate_type' in
      'mapnik::geometry::geometry<double>'
MAPNIK_DECL auto envelope(T const& geom) -> box2d<typename T::coordinate_type>;
                 ^                                            ~~~~~~~~~~~~~~~
src/mapnik_geometry.cpp:193:10: error: no member named 'push_back' in
      'mapnik::geometry::polygon<double, rings_container>'
    poly.push_back(ring); // copy
    ~~~~ ^
src/mapnik_geometry.cpp:268:28: error: no member named 'size' in
      'mapnik::geometry::polygon<double, rings_container>'; did you mean
      '_frozen::size'?
        .def("num_rings", &polygon<double>::size, "Number of rings")
                           ^~~~~~~~~~~~~~~~~~~~~
                           _frozen::size
/Users/rditlwia/anaconda3-4/include/python3.5m/import.h:118:9: note: 
      '_frozen::size' declared here
    int size;
        ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]
20 errors generated.
error: command 'c++' failed with exit status 1

Maybe it's just El Capitan running some funny business? shrugs

elstoneo avatar Jul 26 '17 13:07 elstoneo