omniscale / imposm3

Imposm imports OpenStreetMap data into PostGIS
http://imposm.org/docs/imposm3/latest/
Apache License 2.0
725 stars 159 forks source link

LDFLAGS -lgeos option returns an error when doing "go get" on Debian Jessie #70

Closed ThomasG77 closed 8 years ago

ThomasG77 commented 9 years ago

Doing a

go install github.com/omniscale/imposm3

It returns

# github.com/omniscale/imposm3/geom/geos
/usr/bin/ld: cannot find -lgeos
collect2: error: ld returned 1 exit status

In first, I was thinking that geos.h was missing in the installed packages but there are no available geos.h in the official Debian distribution packages at all e.g this search.

Cloning the imposm3 repo, changing all references to github.com/omniscale/imposm3 to my own repo, removing the -lgeos option in https://github.com/omniscale/imposm3/blob/master/geom/geos/geos.go#L4 and doing a go get myrepo solve the issue.

I was able to solve the issue but is it due to a bug or not? It has to be fixed in the official repo or is it too specific?

Cheers

ImreSamu commented 8 years ago

Hi Thomas,

Strange, but I can't replicate this bug on the clean docker environment ( FROM debian:jessie ) It is working for me.

Some info about my docker envrionment ( installed today ), I hope these helps debugging your environment.

root@204be8625726:/go/src/github.com/omniscale/imposm3# go version
go version go1.4.2 linux/amd64
root@204be8625726:/go/src/github.com/omniscale/imposm3# dpkg-query -l | grep geos
ii  libgeos++-dev                        3.4.2-6                   amd64        Geometry engine for GIS - C++ development files
ii  libgeos-3.4.2                        3.4.2-6                   amd64        Geometry engine for Geographic Information Systems - C++ Library
ii  libgeos-c1                           3.4.2-6                   amd64        Geometry engine for Geographic Information Systems - C Library
ii  libgeos-dev                          3.4.2-6                   amd64        Geometry engine for GIS - Development files
root@204be8625726:/go/src/github.com/omniscale/imposm3#  lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.2 (jessie)
Release:    8.2
Codename:   jessie
root@204be8625726:/# find . -name "geos*"
./go/pkg/linux_amd64/github.com/omniscale/imposm3/geom/geos.a
./go/src/github.com/omniscale/imposm3/geom/geos
./go/src/github.com/omniscale/imposm3/geom/geos/geos_wrap.go
./go/src/github.com/omniscale/imposm3/geom/geos/geos_test.go
./go/src/github.com/omniscale/imposm3/geom/geos/geos.go
./usr/share/man/man1/geos-config.1.gz
./usr/lib/python2.7/dist-packages/shapely/geos.pyc
./usr/lib/python2.7/dist-packages/shapely/geos.py
./usr/include/geos
./usr/include/geos/geosAlgorithm.h
./usr/include/geos_c.h
./usr/bin/geos-config
root@204be8625726:/# 

and I have installed these packages:

apt-get install -y libleveldb-dev libgeos-dev libprotobuf-dev libgeos++-dev libjson0-dev 
bdon commented 8 years ago

I can replicate this on Ubuntu 14.04 - here is what I have installed

dpkg-query -l | grep geos
ii  libgeos-3.4.2                          3.4.2-4ubuntu1                   amd64        Geometry engine for Geographic Information Systems - C++ Library
ii  libgeos-c1                             3.4.2-4ubuntu1                   amd64        Geometry engine for Geographic Information Systems - C Library
ii  libgeos-dev                            3.4.2-4ubuntu1                   amd64        Geometry engine for GIS - Development files
jocelynj commented 8 years ago

I have just compiled this package on an Ubuntu 15.10, and I had to install libgeos++-dev. Could you try to install this package?

olt commented 8 years ago

I've dropped it with b034c52261c8f88d6e6153efc89716f742f0121e.