Search code examples
postgistilemill

dyld symbol not found osm2pgsql to TileMill


I am trying to get an osm.pbf file into TileMill, but terminal is throwing the error "dyld: symbol not found"

  dyld: Symbol not found: __ZN4geos4geom10CoordinateD1Ev
  Referenced from: /usr/local/bin/osm2pgsql
  Expected in: /Library/Frameworks/GEOS.framework/Versions/3/GEOS
  in /usr/local/bin/osm2pgsql

I recently reinstalled TileMill and it's now throwing me this error. I don't know how to fix it.


Solution

  • The error message says that your executable (osm2pgsql) isn't finding a reference to a shared library. Perhaps it's not finding the shared library itself.

    From a command prompt:

    1) Check which shared libraries osm2pgsql needs:

    cd /usr/local/bin
    ldd osm2pgsql
      <= This will print a list of shared libraries, and the expected paths
    

    2) See if your GEOS.framework directory exists, and has the (missing?) libraries

    cd /Library/Frameworks/GEOS.framework/Versions/3/GEOS
    ls -lR | less
    

    3) Set LD_LIBRARY_PATH to point to your correct GEOS.framework library directory

    ... OR ...

    Re-install GEOS.framework.

    4) Here's the main page for GEOS.framework:

    http://trac.osgeo.org/geos/

    5) Here's additional information on $LD_LIBRARY_PATH and configuration for Linux shared libraries:

    http://tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html