You are not logged in.

#1 2010-05-31 09:11:21

pietro
Member
Registered: 2006-03-24
Posts: 10

Spatialite: compilation error cannot find the library `/usr/lib/libgeo

I'm trying to make Spatialite PKGBUILD (http://www.gaia-gis.it/spatialite/).

I have done:

./configure \
    --with-geos-include=/usr/include/geos/ \
    --with-geos-lib=/usr/lib

then I get this compilation error:

==> Starting make...
Making all in headers
make[1]: Entering directory `/home/pietro/builds/mypkg/spatialite/libspatialite/src/libspatialite-amalgamation-2.3.1/headers'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/pietro/builds/mypkg/spatialite/libspatialite/src/libspatialite-amalgamation-2.3.1/headers'
make[1]: Entering directory `/home/pietro/builds/mypkg/spatialite/libspatialite/src/libspatialite-amalgamation-2.3.1'
/bin/sh ./libtool --tag=CC   --mode=link gcc -D_LARGE_FILE=1 -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE=1 -DSQLITE_ENABLE_RTREE=1    -march=core2 -O2 -pipe -version-info 2:3:1 -Wl,--hash-style=gnu -Wl,--as-needed -o libspatialite.la -rpath /usr/local/lib spatialite.lo sqlite3.lo /usr/lib/libgeos_c.la /usr/lib/libgeos.la /usr/local/lib/libproj.la -lm -lstdc++ -lpthread -ldl 
libtool: link: cannot find the library `/usr/lib/libgeos_c.la' or unhandled argument `/usr/lib/libgeos_c.la'
make[1]: *** [libspatialite.la] Error 1
make[1]: Leaving directory `/home/pietro/builds/mypkg/spatialite/libspatialite/src/libspatialite-amalgamation-2.3.1'
make: *** [all-recursive] Error 1
==> ERROR: Build Failed.
    Aborting...

If I look in my /usr/lib I have:

$ ls /usr/lib/libgeos*
-rwxr-xr-x 1 root root 1915763 Apr  4 21:49 /usr/lib/libgeos-3.2.1.so
-rw-r--r-- 1 root root 4654500 Apr  4 21:49 /usr/lib/libgeos.a
-rw-r--r-- 1 root root  179536 Apr  4 21:49 /usr/lib/libgeos_c.a
lrwxrwxrwx 1 root root      18 Apr  4 21:49 /usr/lib/libgeos_c.so -> libgeos_c.so.1.6.1
lrwxrwxrwx 1 root root      18 Apr  4 21:49 /usr/lib/libgeos_c.so.1 -> libgeos_c.so.1.6.1
-rwxr-xr-x 1 root root  140568 Apr  4 21:49 /usr/lib/libgeos_c.so.1.6.1
lrwxrwxrwx 1 root root      16 Apr  4 21:49 /usr/lib/libgeos.so -> libgeos-3.2.1.so

How to solve?

Last edited by pietro (2010-05-31 12:27:49)

Offline

#2 2010-05-31 12:32:51

SiD
Member
From: Germany
Registered: 2006-09-21
Posts: 729

Re: Spatialite: compilation error cannot find the library `/usr/lib/libgeo

You could replace

"libgeos_c.la" with "libgeos_c.a"
"libgeos.la" with "libgeos.a"
"libproj.la" with "libproj.a"

in the Makefile generated by the configure script, using sed.

I tried it with this PKGBUILD

pkgname=libspatialite-amalgamation
pkgver=2.3.1
pkgrel=1
pkgdesc="a complete Spatial DBMS in a nutshell"
arch=('i686' 'x86_64')
depends=('geos' 'proj')
license=('MPL v1.1')
url="http://www.gaia-gis.it/spatialite/"
source=(http://www.gaia-gis.it/spatialite/$pkgname-$pkgver.tar.gz)
         
build() {
        
          cd $srcdir/$pkgname-$pkgver   

          ./configure --prefix=/usr \
                --with-geos-lib=/usr/lib \
                --with-geos-include=/usr/include/geos \
                --with-proj-lib=/usr/lib \
                --with-proj-include=/usr/include
                        
         sed 's/libgeos_c.la/libgeos_c.a/g' Makefile > Makefile.tmp
         sed 's/libgeos.la/libgeos.a/g' Makefile.tmp > Makefile
         sed 's/libproj.la/libproj.a/g' Makefile > Makefile.tmp
         mv Makefile.tmp Makefile
         rm Makefile.tmp
                        
          make DESTDIR=${pkgdir} install || return 1
}

md5sums=('3e1b15a55a0bd511e6437fdb604a10b1')

it compiles and the package could be created, but makepkg gives this when it tries to stripp debugging symbols

 -> Stripping debugging symbols from binaries and libraries...
/usr/bin/strip:usr/lib/libspatialite.a(libgeos_c.a): Unable to recognise the format of file: File format not recognized
/usr/bin/strip:usr/lib/libspatialite.a(libgeos.a): Unable to recognise the format of file: File format not recognized
/usr/bin/strip:usr/lib/libspatialite.a(libproj.a): Unable to recognise the format of file: File format not recognized

I've not tested if the package works. I don't know what libspatialite is. wink

..but maybe my PKGBUILD helps you...

Offline

#3 2010-05-31 13:41:58

pietro
Member
Registered: 2006-03-24
Posts: 10

Re: Spatialite: compilation error cannot find the library `/usr/lib/libgeo

I solve the problem recompiling geos and proj with libtool option activate, in this way I have *.la files and "makepkg -s" now works without problems.

Thank you SiD for your reply, but I don't think your solution could work because if I look to my library now I have

-rwxr-xr-x 1 pietro users  4282599 May 31 14:45 libgeos-3.2.1.so
-rw-r--r-- 1 pietro users 15594336 May 31 14:45 libgeos.a
-rw-r--r-- 1 pietro users   301686 May 31 14:45 libgeos_c.a
-rwxr-xr-x 1 pietro users      947 May 31 14:45 libgeos_c.la
lrwxrwxrwx 1 pietro users       18 May 31 14:45 libgeos_c.so -> libgeos_c.so.1.6.1
lrwxrwxrwx 1 pietro users       18 May 31 14:45 libgeos_c.so.1 -> libgeos_c.so.1.6.1
-rwxr-xr-x 1 pietro users   213059 May 31 14:45 libgeos_c.so.1.6.1
-rwxr-xr-x 1 pietro users      921 May 31 14:45 libgeos.la
lrwxrwxrwx 1 pietro users       16 May 31 14:45 libgeos.so -> libgeos-3.2.1.so
-rw-r--r-- 1 pietro users   697910 May 31 15:01 libproj.a
-rwxr-xr-x 1 pietro users      813 May 31 15:01 libproj.la
lrwxrwxrwx 1 pietro users       16 May 31 15:01 libproj.so -> libproj.so.0.6.6
lrwxrwxrwx 1 pietro users       16 May 31 15:01 libproj.so.0 -> libproj.so.0.6.6
-rwxr-xr-x 1 pietro users   309695 May 31 15:01 libproj.so.0.6.6

As you can see, libgeos_c.a seem to be different from libgeos_c.la, so I don't think you could just replace with sed...

Last edited by pietro (2010-05-31 13:42:41)

Offline

#4 2010-05-31 13:56:56

SiD
Member
From: Germany
Registered: 2006-09-21
Posts: 729

Re: Spatialite: compilation error cannot find the library `/usr/lib/libgeo

Ah ok, was just an idea. ;-)

Offline

#5 2010-06-01 02:48:10

aldeano
Member
Registered: 2009-09-04
Posts: 30

Re: Spatialite: compilation error cannot find the library `/usr/lib/libgeo

Thanks Pietro!

I have the same problem, so, download pkgbuilds, activate libtools option and recompile Geos & Proj works fine.

Offline

#6 2011-06-29 14:24:55

Shanto
Member
From: Dhaka, Bangladesh
Registered: 2011-06-02
Posts: 11

Re: Spatialite: compilation error cannot find the library `/usr/lib/libgeo

Anybody managed to compile this set of packages recently? I am having problems to get Spatialite (AUR) and Proj.4 (from official) compiled together here on Arch x86_64. Proj.4 fails to compile with/without libtool, and without Proj.4 headers, Spatialite won't compile.

@pietro: Please share your PKGBUILDs if have them working.


“Never regard study as a duty, but as the enviable opportunity to learn to know the liberating influence of beauty in the realm of the spirit for your own personal joy and to the profit of the community to which your later work belongs.”

Offline

Board footer

Powered by FluxBB