[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