[MacPorts] #35323: py26-mapnik: undefined symbols boost::system::generic_category boost::system::system_category (was: py26-mapnik fails to install)

MacPorts noreply at macports.org
Thu Jul 26 05:18:36 PDT 2012


#35323: py26-mapnik: undefined symbols boost::system::generic_category
boost::system::system_category
---------------------------------+------------------------------------------
 Reporter:  aacinelli@…          |       Owner:  dbsgeo@…        
     Type:  defect               |      Status:  new             
 Priority:  Normal               |   Milestone:                  
Component:  ports                |     Version:  2.1.1           
 Keywords:                       |        Port:  py26-mapnik     
---------------------------------+------------------------------------------
Changes (by ryandesign@…):

  * owner:  macports-tickets@… => dbsgeo@…


Old description:

> When I tried to install the py26-mapnik port from the terminal it failed.
> I already had installed some of the ports that py26-mapnik uses:
>
> babbos-mac:~ babbo$ port installed
>
> The following ports are currently installed:
>
>   boost @1.50.0_0+no_single+no_static+python26 (active)
>   bzip2 @1.0.6_0 (active)
>   db46 @4.6.21_6 (active)
>   expat @2.1.0_0 (active)
>   fftw-3 @3.3.2_0 (active)
>   freetype @2.4.10_0 (active)
>   gdal @1.9.0_3+expat (active)
>   geos @3.3.2_0 (active)
>   gettext @0.18.1.1_2 (active)
>   giflib @4.2.0_2+x11 (active)
>   icu @4.8.1_0 (active)
>   jpeg @8d_0 (active)
>   libedit @20120601-3.0_0 (active)
>   libgeotiff @1.4.0_0 (active)
>   libiconv @1.14_0 (active)
>   libpng @1.4.12_0 (active)
>   libxml2 @2.7.8_0 (active)
>   ncurses @5.9_1 (active)
>   nosetests_select @0.1_0 (active)
>   openssl @1.0.1c_0 (active)
>   proj @4.8.0_0 (active)
>   py27-distribute @0.6.28_0 (active)
>   py27-gdal @1.8.1_0 (active)
>   py27-nose @1.1.2_2 (active)
>   py27-numpy @1.6.2_0 (active)
>   py27-pyproj @1.9.0_0 (active)
>   py27-shapely @1.2.15_0 (active)
>   python26 @2.6.8_0 (active)
>   python27 @2.7.3_0 (active)
>   python_select @0.3_1 (active)
>   sqlite3 @3.7.13_0 (active)
>   tiff @3.9.5_0 (active)
>   xorg-kbproto @1.0.6_0 (active)
>   xorg-libice @1.0.8_0 (active)
>   xorg-libpthread-stubs @0.3_0 (active)
>   xorg-libsm @1.2.1_0 (active)
>   xorg-libX11 @1.5.0_0 (active)
>   xorg-libXau @1.0.7_0 (active)
>   xorg-libxcb @1.8.1_2+python27 (active)
>   xorg-libXdmcp @1.1.1_0 (active)
>   xorg-xcb-proto @1.7.1_0+python27 (active)
>   xorg-xproto @7.0.23_0 (active)
>   zlib @1.2.7_0 (active)
>
> Then I just entered the following commands:
>
> sudo port select --set python python26
>
> sudo port -d install py26-mapnik
>
> I am using:
>
> Mac OS X 10.7.4
>
> Xcode Version 4.3.3
>
> X11 XQuartz 2.6.4 (xorg-server 1.10.6)
>
> MacPorts 2.1.2
>
> Please see file attached for debug info.

New description:

 When I tried to install the py26-mapnik port from the terminal it failed.
 I already had installed some of the ports that py26-mapnik uses:

 {{{
 babbos-mac:~ babbo$ port installed
 The following ports are currently installed:
   boost @1.50.0_0+no_single+no_static+python26 (active)
   bzip2 @1.0.6_0 (active)
   db46 @4.6.21_6 (active)
   expat @2.1.0_0 (active)
   fftw-3 @3.3.2_0 (active)
   freetype @2.4.10_0 (active)
   gdal @1.9.0_3+expat (active)
   geos @3.3.2_0 (active)
   gettext @0.18.1.1_2 (active)
   giflib @4.2.0_2+x11 (active)
   icu @4.8.1_0 (active)
   jpeg @8d_0 (active)
   libedit @20120601-3.0_0 (active)
   libgeotiff @1.4.0_0 (active)
   libiconv @1.14_0 (active)
   libpng @1.4.12_0 (active)
   libxml2 @2.7.8_0 (active)
   ncurses @5.9_1 (active)
   nosetests_select @0.1_0 (active)
   openssl @1.0.1c_0 (active)
   proj @4.8.0_0 (active)
   py27-distribute @0.6.28_0 (active)
   py27-gdal @1.8.1_0 (active)
   py27-nose @1.1.2_2 (active)
   py27-numpy @1.6.2_0 (active)
   py27-pyproj @1.9.0_0 (active)
   py27-shapely @1.2.15_0 (active)
   python26 @2.6.8_0 (active)
   python27 @2.7.3_0 (active)
   python_select @0.3_1 (active)
   sqlite3 @3.7.13_0 (active)
   tiff @3.9.5_0 (active)
   xorg-kbproto @1.0.6_0 (active)
   xorg-libice @1.0.8_0 (active)
   xorg-libpthread-stubs @0.3_0 (active)
   xorg-libsm @1.2.1_0 (active)
   xorg-libX11 @1.5.0_0 (active)
   xorg-libXau @1.0.7_0 (active)
   xorg-libxcb @1.8.1_2+python27 (active)
   xorg-libXdmcp @1.1.1_0 (active)
   xorg-xcb-proto @1.7.1_0+python27 (active)
   xorg-xproto @7.0.23_0 (active)
   zlib @1.2.7_0 (active)
 }}}

 Then I just entered the following commands:

 {{{
 sudo port select --set python python26
 sudo port -d install py26-mapnik
 }}}

 I am using:

 Mac OS X 10.7.4

 Xcode Version 4.3.3

 X11 XQuartz 2.6.4 (xorg-server 1.10.6)

 MacPorts 2.1.2

 Please see file attached for debug info.

--

Comment:

 The log shows missing symbols:

 {{{
 Undefined symbols for architecture x86_64:
   "boost::system::generic_category()", referenced from:
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_datasource.os
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_datasource_cache.os
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_feature.os
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_featureset.os
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_filter.os
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_font_engine.os
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_geometry.os
       ...
   "boost::system::system_category()", referenced from:
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_datasource.os
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_datasource_cache.os
       boost::mutex::mutex()in mapnik_datasource_cache.os
       boost::mutex::lock()    in mapnik_datasource_cache.os
       boost::unique_lock<boost::mutex>::lock()   in
 mapnik_datasource_cache.os
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_feature.os
       global constructors keyed to _ZN12_GLOBAL__N_12_1Ein
 mapnik_featureset.os
       ...
 ld: symbol(s) not found for architecture x86_64
 }}}

 This could be an incompatibility with boost 1.50, to which the boost port
 was recently updated; we've seen such incompatibilities in other ports and
 it's not uncommon for new boost versions to break other ports. You could
 try [wiki:howto/InstallingOlderPort downgrading to boost 1.49].

 However, before you do so, note that the log also says:

 {{{
 DEBUG: Skipping completed org.macports.archivefetch (py26-mapnik)
 DEBUG: Privilege de-escalation not attempted as not running as root.
 DEBUG: Skipping completed org.macports.fetch (py26-mapnik)
 DEBUG: Privilege de-escalation not attempted as not running as root.
 DEBUG: Skipping completed org.macports.checksum (py26-mapnik)
 DEBUG: Privilege de-escalation not attempted as not running as root.
 DEBUG: Skipping completed org.macports.extract (py26-mapnik)
 DEBUG: Privilege de-escalation not attempted as not running as root.
 DEBUG: Skipping completed org.macports.patch (py26-mapnik)
 DEBUG: Privilege de-escalation not attempted as not running as root.
 DEBUG: Skipping completed org.macports.configure (py26-mapnik)
 DEBUG: Privilege de-escalation not attempted as not running as root.
 }}}

 The "Skipping completed" lines show that you had not cleaned before trying
 this build, so its results cannot be trusted. Please "sudo port clean
 py26-mapnik" and then try again. If it still fails with undefined symbols,
 then proceed as above.

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


More information about the macports-tickets mailing list