#3118: Some modules fail to compile
------------------------+---------------------------------
Reporter: ewcgrass | Owner: grass-dev@…
Type: defect | Status: new
Priority: normal | Milestone: 7.2.0
Component: Compiling | Version: svn-releasebranch72
Resolution: | Keywords:
CPU: x86-64 | Platform: Linux
------------------------+---------------------------------
Comment (by ewcgrass):
Thanks for your prompt reply.
FYI, this is on Fedora 21 (yes, no longer supported, but with latest
updates installed).
I compiled originally with default settings, and geos, liblas and postgres
support are excluded by default (perhaps a change is required to include
them by default?).
By including support for geos and liblas (I didn't include support for
postgres in case it removed default support for SQlite?, which I wish to
maintain), and installing laszip-devel and libgeotiff-devel and making
links to original files to create libboost_program_options.so and
libboost_thread.so to remedy failed configurations, all finally configured
fine. A file with copy of the command used and output obtained, and
config.log, are attached.
However, now compilation fails at v.buffer. Running "make" inside
/vector/v.buffer directory yields this:
--snip--
[rick@localhost v.buffer]$ make
test -d OBJ.x86_64-pc-linux-gnu || mkdir -p OBJ.x86_64-pc-linux-gnu
gcc -g -Wall -I/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/include -I/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/include -I/usr/include/gdal -I/usr/include -I/usr/include
-DPACKAGE=\""grassmods"\" -I/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/include -I/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/include -DRELDIR=\"vector/v.buffer\" -o OBJ.x86_64-pc-linux-
gnu/main.o -c main.c
gcc -g -Wall -I/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/include -I/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/include -I/usr/include/gdal -I/usr/include -I/usr/include
-DPACKAGE=\""grassmods"\" -I/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/include -I/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/include -DRELDIR=\"vector/v.buffer\" -o OBJ.x86_64-pc-linux-
gnu/geos.o -c geos.c
: && gcc -L/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/lib -L/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/lib -Wl,--export-dynamic -Wl,-rpath-
link,/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/lib -o /home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/bin/v.buffer OBJ.x86_64-pc-linux-gnu/main.o OBJ.x86_64-pc-
linux-gnu/geos.o -lgrass_vector.7.2.svn -lgrass_dbmiclient.7.2.svn
-lgrass_dbmibase.7.2.svn -lgrass_gis.7.2.svn -lm -L/usr/lib64 -lgeos
-lgeos_c -lm
OBJ.x86_64-pc-linux-gnu/geos.o: In function `geos_buffer':
/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/vector/v.buffer/geos.c:153:
undefined reference to `Vect_read_area_geos'
/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/vector/v.buffer/geos.c:155:
undefined reference to `Vect_read_line_geos'
collect2: error: ld returned 1 exit status
../../include/Make/Module.make:18: recipe for target
'/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/bin/v.buffer' failed
make: *** [/home/rick/temp/newapps/apps/science/gis-
mapping/grass/grass72/grass-7.2.svn_src_snapshot_2016_07_30/dist.x86_64
-pc-linux-gnu/bin/v.buffer] Error 1
[rick@localhost v.buffer]$
--snip--
In case this might be of any help, I installed the 03-Aug-2016 svn generic
binary of grass7.2 and v.buffer in that installation runs fine (geos-4.3.2
is installed on system). However, borrowing v.buffer binary from it and
placing it into the original /usr/local/grass72/bin directory and running
that, v.buffer output complains about undefined symbol for
Vect_read_line_geos and Vect_read_line_geos.
--
Ticket URL: <https://trac.osgeo.org/grass/ticket/3118#comment:2>
GRASS GIS <https://grass.osgeo.org>