[GRASS-dev] 7.svn fails to build from source

Hamish hamish_b at yahoo.com
Mon Jul 20 01:16:17 EDT 2009


> Hamish wrote:
> > Debian/Lenny on 64bit:
> > ----------------------
> > many/most modules fail to build with:
> > [...]
> > main.c:45: undefined reference to `G_add_keyword'
> > 
> > it seems to be there in gisdefs.h ..... ??

Glynn: 
> Defined in lib/gis/parser.c. This suggests that it's linking against
> an old version of the library.

.... the Debian/stable grass package (v6.2.3) ships with a
/etc/ld.so.conf.d/grass.conf file which adds /usr/lib/grass/lib
to the library search path. Apparently it has been like that for years
without conflict, I wonder why that becomes a problem only now?
Or is that a red herring and something else is the problem?

gcc -L/usr/local/src/grass/svn/trunk/dist.x86_64-unknown-linux-gnu/lib -L/usr/local/src/grass/svn/trunk/dist.x86_64-unknown-linux-gnu/lib -Wl,--export-dynamic -Wl,-rpath-link,/usr/local/src/grass/svn/trunk/dist.x86_64-unknown-linux-gnu/lib   -o /usr/local/src/grass/svn/trunk/dist.x86_64-unknown-linux-gnu/bin/db.drivers OBJ.x86_64-unknown-linux-gnu/main.o  -lgrass_dbmiclient -lgrass_dbmibase -lgrass_gis -lgrass_datetime    -lgrass_gis -lgrass_datetime    -lgrass_dbmibase -lgrass_gis -lgrass_datetime     -lgrass_gis -lgrass_datetime   -lgrass_datetime  -lm  
OBJ.x86_64-unknown-linux-gnu/main.o: In function `parse_command_line':
/usr/local/src/grass/svn/trunk/db/db.drivers/main.c:74: undefined reference to `G_add_keyword'
/usr/local/src/grass/svn/trunk/db/db.drivers/main.c:75: undefined reference to `G_add_keyword'
collect2: ld returned 1 exit status
make: *** [/usr/local/src/grass/svn/trunk/dist.x86_64-unknown-linux-gnu/bin/db.drivers] Error 1


svn/trunk/dist.x86_64-unknown-linux-gnu/lib$ ldd libgrass_gis.so 
        linux-vdso.so.1 =>  (0x00007fffb79ff000)
! ->    libgrass_datetime.so => /usr/lib/grass/lib/libgrass_datetime.so (0x00007fdbaf4e5000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fdbaf2c9000)
        libm.so.6 => /lib/libm.so.6 (0x00007fdbaf045000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00007fdbaee2e000)
        libc.so.6 => /lib/libc.so.6 (0x00007fdbaeadb000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fdbaf941000)


?

 
> > Debian/Etch on 32bit:
> > ---------------------
> > lib/vector/diglib fails with:
> > 
> > gcc
> -I/usr/local/src/grass/svn/trunk/dist.i686-pc-linux-gnu/include
> -I/usr/local/src/grass/svn/trunk/dist.i686-pc-linux-gnu/include 
> -ggdb -march=pentium4 -Wall
> -Werror-implicit-function-declaration   -fPIC 
> -I/usr/include/gdal -I/usr/include 
> -DPACKAGE=\""grasslibs"\"   -I/usr/local/src/grass/svn/trunk/dist.i686-pc-linux-gnu/include
> -I/usr/local/src/grass/svn/trunk/dist.i686-pc-linux-gnu/include
> -o OBJ.i686-pc-linux-gnu/allocation.o -c allocation.c
> > In file included from allocation.c:21:
> >
> /usr/local/src/grass/svn/trunk/dist.i686-pc-linux-gnu/include/grass/vector.h:474:
> error: expected '=', ',', ';', 'asm' or '__attribute__'
> before '*' token
> 
> Don't use --with-geos.

ok, builds then. Is there a minimum GEOS version it needs?
REQUIREMENTS.html didn't mention it.

It does get past all the ./configure checks:
....
checking whether to use GEOS... yes
checking for geos-config... /usr/bin/geos-config
checking for geos_c.h... yes
....

I have libgeos-dev 2.2.3-3 installed.


thanks,
Hamish



      



More information about the grass-dev mailing list