Hi Sebastiaan, here is the tail of the failing basemap build output:
""" gcc -pthread -shared build/temp.linux-x86_64-2.7/src/_geoslib.o -L/usr/lib -L/usr/lib64 -L/home/megies/local/lib -Wl,-R/usr/lib -Wl,-R/usr/lib64 -lgeos_c -lgeos -lpython2.7 -o build/lib.linux-x86_64-2.7/_geoslib.so /usr/bin/ld: cannot find -lgeos collect2: error: ld returned 1 exit status /usr/bin/ld: cannot find -lgeos collect2: error: ld returned 1 exit status error: Command "gcc -pthread -shared build/temp.linux-x86_64-2.7/src/_geoslib.o -L/usr/lib -L/usr/lib64 -L/home/megies/local/lib -Wl,-R/usr/lib -Wl,-R/usr/lib64 -lgeos_c -lgeos -lpython2.7 -o build/lib.linux-x86_64-2.7/_geoslib.so" failed with exit status 1 """ in the basemap install routine (in Python) the offending piece reads: """ extensions.append(Extension("_geoslib",['src/_geoslib.c'], library_dirs=geos_library_dirs, runtime_library_dirs=geos_library_dirs, include_dirs=geos_include_dirs, libraries=['geos_c','geos'])) """ If I follow your advice and simply remove 'geos' from the libraries section, the linking/compiling works without the manually added link to "/usr/lib/libgeos.so". I will notify the developer/maintainer of matplotlib basemap of these circumstances/findings. So, I am not an expert on linking and if you consider linking against libgeos C++ library bad practice I guess you can close this bug report. Thanks for the quick feedback. best, Tobias On 03/10/2014 12:13 PM, Sebastiaan Couwenberg wrote: > Hi Tobias, > >> I was trying to compile matplotlib basemap >> (http://sourceforge.net/projects/matplotlib/files/matplotlib- >> toolkits/basemap-1.0.7/) which depends on libgeos. >> The compilation fails because matplotlib basemap tries to link against >> "libgeos.so" but in "/usr/lib" only "libgeos-3.3.3-so" is present. >> >> When manually creating a link ("sudo ln -s /usr/lib/libgeos-3.3.3.so >> /usr/lib/libgeos.so"), the compilation/linking works without problems. >> >> I think during installation this link should be created. > > Creating library symlinks manuall is seldomly a good idea. > > libgeos-3.3.3.so is the C++ library, linking against this is discouraged. > Applications should like to the C API (libgeos_c.so) which is considered > stable. > > In de documentation for mathplotlib basemaps they document linking to the > C API: > > " > If you already have it on your system, just set the environment variable > GEOS_DIR to point to the location of libgeos_c and geos_c.h (if libgeos_c > is in /usr/local/lib and geos_c.h is in /usr/local/include, set GEOS_DIR > to /usr/local). > " > > See: https://github.com/matplotlib/basemap > > Please try the above procedure to build mathplotlibs basemap with the GEOS > C API. You may need to install libgeos-c1 if it's not already installed. > > Kind Regards, > > Bas > > -- Dipl.-Geophys. Tobias Megies Geophysikalisches Observatorium Ludwigshöhe 8 82256 Fürstenfeldbruck Ludwig-Maximilians-Universität Department für Geo- und Umweltwissenschaften Sektion Geophysik Theresienstrasse 41/IV 80333 München Tel: +49 (0) 89 2180-73981 +49 (0) 89 2180-4326 Mail: tobias.meg...@geophysik.uni-muenchen.de _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-grass-devel