[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