[GRASSLIST:1909] RE: configuring Grass5.03 on Debian - includes locations

Glynn Clements glynn.clements at virgin.net
Fri Nov 28 16:50:46 EST 2003


Jim Browne wrote:

> My problem with zlib was that the development package was not installed 
> correctly. It was originally installed from a tar ball so the parts were 
> mostly there, but not all. Overwriting with
>    apt-get zlib1g-dev
> solved that problem.
> 
>    After Googling for the Debian version of package names of other needed 
> headers and libs I now have the compile going.The Debian people must have 
> already solved the links problem that Holger had.
> 
>   TWO QUIRKS OF NOTE for maintainers
> 
>   Debian put some headers in sub-directories.
> 
>   TCL headers ended up in /usr/include/tcl8.0
>   postgresql headers are in /usr/include/postgresql

Those are fairly common, particularly the latter.

>   I simply copied the contents into /usr/include to get the compile going.

The correct solution is to use:

	--with-tcltk-includes=/usr/include/tcl8.0
and:
	--with-postgres-includes=/usr/include/postgresql

That's why those switches exist.

[Actually, the "real" solution is for the authors of substantial
middleware packages such as Tcl/Tk and PostgreSQL to use a prefix
directory for headers, as is the case for OpenGL and X11.]

>   Please include these as alternate linux locations in future versions of 
> configure for fellow Debian users. Thanks.

configure does not attempt to guess which directories you want the
compiler/linker to look in; you have to tell it. If you don't use any
--with-*-includes or --with-*-libs switches, the only directories
which will be used are those in the compiler's/linker's default search
paths.

This is intentional, and won't change. It used to do path-guessing;
that was removed for a reason, and that reason is still valid. 

[Specifically: on some systems, it would break the build, and no
combination of switches would fix it. When it does the right thing,
path-guessing provides a minor convenience (i.e. it saves you from
typing a couple of switches). When it does the wrong thing, you simply
cannot build GRASS.]

The only exception is for X, where the configure test attempts to
determine the appropriate switches via Imake, but allows them to be
(partially) overridden via the --x-includes= and --x-libraries=
switches. This behaviour is built into autoconf.

-- 
Glynn Clements <glynn.clements at virgin.net>




More information about the grass-user mailing list