[MacPorts] #28944: py-mapnik 0.7.1 does not support filesystem 3 in boost 1.46

MacPorts noreply at macports.org
Mon Mar 28 11:52:06 PDT 2011


#28944: py-mapnik 0.7.1 does not support filesystem 3 in boost 1.46
----------------------------------+-----------------------------------------
 Reporter:  software@…            |       Owner:  macports-tickets@…                   
     Type:  defect                |      Status:  new                                  
 Priority:  Normal                |   Milestone:                                       
Component:  ports                 |     Version:  1.9.2                                
 Keywords:                        |        Port:  py26-mapnik                          
----------------------------------+-----------------------------------------
 I just did a {{{port upgrade outdated}}}, which upgrade boost from
 1.44.0_0 to 1.46.1_0 and py26-mapnik from 0.7.1_1 to 0.7.1_4.

 When py26-mapnik compiles, it gives the following error:
 {{{
  src/datasource_cache.cpp: In static member function 'static void
 mapnik::datasource_cache::register_datasources(const std::string&)':
  src/datasource_cache.cpp:146: error: invalid initialization of reference
 of type 'const std::string&' from expression of type
 'boost::filesystem3::path'
  src/datasource_cache.cpp:46: error: in passing argument 1 of 'bool
 mapnik::is_input_plugin(const std::string&)'
  src/datasource_cache.cpp:152: error: 'class
 boost::filesystem3::directory_entry' has no member named 'string'
  src/datasource_cache.cpp:167: error: 'class
 boost::filesystem3::directory_entry' has no member named 'string'
 }}}

 The cause is that boost has done a major upgrade to their filesystem code.
 http://www.boost.org/doc/libs/1_46_1/libs/filesystem/v3/doc/ gives the
 details:

   Version 3 is a major revision with many new and improved features. It
 may, however, break some user code written for Version 2.

   To ease the transition, Boost releases 1.44 through 1.47 will supply
 both V2 and V3. Version 2 is the default version for Boost release 1.44
 and 1.45. Version 3 will be the default starting with release 1.46.

 There are patches available at the mapnik website, both to select
 filesystem version 2 or upgrade to version 3. I have not tested if this
 works for mapnik 0.7.1 (stable) or 0.7.2 (trunk).

  * [http://trac.mapnik.org/changeset/2493 add support for
 boost::filesystem v3]
  * [http://trac.mapnik.org/changeset/2496 support for boost trunk (1.46)
 by enforcing boost filesystem v2]
  * [http://trac.mapnik.org/changeset/2506 boost filesystem v3 support,
 ported from trunk]

-- 
Ticket URL: <https://trac.macports.org/ticket/28944>
MacPorts <http://www.macports.org/>
Ports system for Mac OS


More information about the macports-tickets mailing list