[GRASS-dev] compile error for GRASS 7 on Ubuntu 8.10

I get compile errors in many modules when compiling GRASS 7 on Ubunut
8.10. Changing into module directories and running make yield
incomprehensible errors (see below).

On the same machine and with same configure options I have
successfully compiled and have running GRASS 6.5 and GRASS 6.4RC3. I
have no idea what is causing this error in GRASS 7 only, while other
versions compile perfectly. Configure options and error messages
posted below.

Cheers,
Isaac

Configure results are:

GRASS is now configured for: x86_64-unknown-linux-gnu

  Source directory: /home/iullah/grass_7_source/grass_trunk
  Build directory: /home/iullah/grass_7_source/grass_trunk
  Installation directory: ${prefix}/grass-7.0.svn
  Startup script in directory: ${exec_prefix}/bin
  C compiler: gcc -g -O2
  C++ compiler: c++ -g -O2
  Building shared libraries: yes
  64bit support: yes
  OpenGL platform: X11
  MacOSX application: no

  NVIZ: yes

  BLAS support: no
  C++ support: yes
  Cairo support: yes
  DWG support: no
  FFMPEG support: no
  FFTW support: yes
  FreeType support: yes
  GDAL support: yes
  JPEG support: yes
  LAPACK support: no
  Large File support (LFS): yes
  MySQL support: yes
  NLS support: yes
  ODBC support: yes
  OGR support: yes
  OpenGL support: yes
  PNG support: yes
  PostgreSQL support: no
  Python support: yes
  Readline support: no
  SQLite support: yes
  Tcl/Tk support: yes
  wxWidgets support: yes
  TIFF support: yes
  X11 support: yes
  Regex support: yes
  POSIX thread support: no

This is fine, so, run "make",
Get error message:

Errors in:
/home/iullah/grass_7_source/grass_trunk/db/drivers/ogr
/home/iullah/grass_7_source/grass_trunk/display/d.grid
/home/iullah/grass_7_source/grass_trunk/display/d.path
etc... (many more modules)

Finished compilation: Fri Jan 30 12:45:17 MST 2009
make: *** [default] Error 1

then change into subdirectory, run make and get:

iullah@MEDLAND-2:~/grass_7_source/grass_trunk$ cd
/home/iullah/grass_7_source/grass_trunk/db/drivers/ogr
iullah@MEDLAND-2:~/grass_7_source/grass_trunk/db/drivers/ogr$ make
gcc -L/home/iullah/grass_7_source/grass_trunk/dist.x86_64-unknown-linux-gnu/lib
-Wl,--export-dynamic
-Wl,-rpath-link,/home/iullah/grass_7_source/grass_trunk/dist.x86_64-unknown-linux-gnu/lib
   -ltk8.5 -lm -ltcl8.5 -lm -o
/home/iullah/grass_7_source/grass_trunk/dist.x86_64-unknown-linux-gnu/driver/db/ogr
OBJ.x86_64-unknown-linux-gnu/cursor.o
OBJ.x86_64-unknown-linux-gnu/db.o
OBJ.x86_64-unknown-linux-gnu/describe.o
OBJ.x86_64-unknown-linux-gnu/driver.o
OBJ.x86_64-unknown-linux-gnu/error.o
OBJ.x86_64-unknown-linux-gnu/fetch.o
OBJ.x86_64-unknown-linux-gnu/listtab.o
OBJ.x86_64-unknown-linux-gnu/main.o
OBJ.x86_64-unknown-linux-gnu/select.o -lgrass_dbmidriver
-lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz -lgrass_dbstubs
-lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz -lgrass_gis
-lgrass_datetime -lz -lgrass_gis -lgrass_datetime -lz
-lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz
-lgrass_dbstubs -lgrass_dbmibase -lgrass_gis -lgrass_datetime -lz
-lgrass_gis -lgrass_datetime -lz -lgrass_gis -lgrass_datetime -lz
    -lgrass_datetime -L/usr/local/lib -lgdal -I/usr/include -lsqlite3
-lodbc -lodbcinst -L/usr/lib -lexpat -lhdf5 -lmfhdf -ldf -ljpeg -lpng
-L/usr/local/grass-6.4.svn/lib -lgrass_vect -lgrass_dig2 -lgrass_dgl
-lgrass_rtree -lgrass_linkm -lgrass_dbmiclient -lgrass_dbmibase
-lgrass_I -lgrass_gproj -lgrass_vask -lgrass_gmath -lgrass_gis
-lgrass_datetime -lz -lm -lrt -ldl -Wl,-Bsymbolic-functions -rdynamic
-L/usr/lib/mysql -lmysqlclient -lm -lz
/usr/local/grass-6.4.svn/lib/libgrass_I.so: undefined reference to
`G_get_ask_return_msg'
/usr/local/grass-6.4.svn/lib/libgrass_I.so: undefined reference to `G_gets'
collect2: ld returned 1 exit status
make: *** [/home/iullah/grass_7_source/grass_trunk/dist.x86_64-unknown-linux-gnu/driver/db/ogr]
Error 1

Isaac Ullah wrote:

I get compile errors in many modules when compiling GRASS 7 on Ubunut
8.10. Changing into module directories and running make yield
incomprehensible errors (see below).

On the same machine and with same configure options I have
successfully compiled and have running GRASS 6.5 and GRASS 6.4RC3. I
have no idea what is causing this error in GRASS 7 only, while other
versions compile perfectly. Configure options and error messages
posted below.

/usr/local/grass-6.4.svn/lib/libgrass_I.so: undefined reference to `G_get_ask_return_msg'
/usr/local/grass-6.4.svn/lib/libgrass_I.so: undefined reference to `G_gets'

It's linking libgrass_I.so from GRASS 6.4, which isn't going to work.

Note that 7.0 doesn't have a library named libgrass_I; it has been
changed to libgrass_imagery.

My first guess is that your GDAL library was built with GRASS support,
and that it's using GRASS 6.4. You need a version of GDAL which
doesn't have GRASS support; if you need to access GRASS datasets via
GDAL, use the GDAL-GRASS plugin.

--
Glynn Clements <glynn@gclements.plus.com>