[GRASS5] [bug #882] (grass) Configure errors

Glynn Clements glynn.clements at virgin.net
Thu Dec 20 14:28:18 EST 2001

Request Tracker wrote:

> ./configure reports the following error:
> checking whether to use Tcl/Tk... yes
> checking for location of Tcl/Tk includes...
> checking for tcl.h... yes
> checking for tk.h... no
> configure: error: *** Unable to locate Tk includes.
> but tk is installed and tk.h is in /usr/include!!!

Note that tk.h includes some other headers (e.g. <X11/Xlib.h>); if
they can't be found, the configure test will fail (the configure test
for a header attempts to pre-process a file which "#include"s that
header; any error results in failure).

> Then I've done ./configure --without-tcltk and it doesn't find
> the postgresql includes (they are in /usr/include/pgsql, I have
> to force that location).

That is to be expected. Any header/library directories beyond those in
the compiler's/linker's default paths have to be explicitly specified
by the appropriate --with-*-includes/--with-*-libs switch.

Adding -I/-L switches automatically caused failures due to using the
wrong version of a header or library, and no combination of configure
switches could fix the problem.

> I have Mesa 3.4.2 installed but configure
> says:
> checking whether to use OpenGL... yes
> checking for location of OpenGL includes...
> checking for GL/gl.h... yes
> checking for GL/glu.h... yes
> checking for location of OpenGL library...
> checking for glBegin in -lGL... no
> checking for glBegin in -lGL... no
> configure: error: *** Unable to locate OpenGL library.
> ... REQUIREMENTS says that Mesa 3.x is needed, but this one is
> not recognized.

The configure check for a library attempts to link a test program
against that library. If the library has any dependencies, they must
also be found.

It isn't possible to determine exactly why these two tests failed
without seeing the appropriate section of config.log.

> Umpf, in the end configure does its work with the following parameters:
> ./configure --without-tcltk --with-postgres-includes=/usr/include/pgsql --without-opengl --without-odbc --without-fftw
> (odbc and fftw in fact are not installed, but do you expect that they
> are installed on the average machine? The should be disabled IHMO)

This is deliberate.

When programs were automatically disabled because required
headers/libraries couldn't be found, people used to file bug reports
about the programs not being built, even though configure displayed a
warning message.

So, it was decided that any failures would result in an error, as a
user (hopefully) can't fail to notice that they've explicitly disabled
the library.

Glynn Clements <glynn.clements at virgin.net>

More information about the grass-dev mailing list