Details Ticket 1109


Comment | Reply | Take | Open


Serial Number 1109
Subject configure failing to find tcl.h depending on argument order
Area bug
Queue grass
Requestors smitch@mac.com
Owner none
Status resolved
Last User Contact Tue Jun 11 21:11:12 2002 (6 yr ago)
Current Priority 30
Final Priority 70
Due No date assigned
Last Action Fri Apr 11 19:36:54 2003 (5 yr ago)
Created Tue Jun 11 19:56:13 2002 (6 yr ago)

Transaction History Ticket 1109


Tue, Jun 11 2002 19:56:13    Request created by guest  
Subject: configure failing to find tcl.h depending on argument order

Platform: GNU/Linux/i386
grass obtained from: Trento Italy site
grass binary for platform: Compiled from Sources
GRASS Version: 5.0pre4

Scott Mitchell   smitchATmac.com:
Trying to update from working grass5.0pre3 to pre4 using freshly 
downloaded source tarball to clean directory, on Debian 3.0 (woody, 
checked for updates today).

configure was bailing looking for tcl.h, even though I specifically told it to
look in /usr/include/tcl8.3 (where Debian has put it) - I also 
experimented with /usr/include/tk8.3, which debian also has, as well as 
making sure I point to the lib directories too, all with no effect.

This seems like it should be so simple, but I've tried everything I can 
think of.  Archives of the grass5 list mention similar troubles way back 
that were fixed (i.e. Jan 2002 if I remember right);  is it possible a big 
slipped back in to the configure scripts, or am I missing something ?

I started writng this, and then went to check some more things, and 
have found a workaround.  

I first tried bypassing the error using --with-tcltk=no but it seemed to be 
ignored, I got the same error.  Then, on a hunch, tried moving the --with-
tcltk-includes directive earlier in the ./configure command line, and it 
WORKED !?!  Now I'm less sure this is a GRASS bug but will submit it 
here for someone more knowledgeable to judge.
SO:
This didn't work:

 ./configure --with-postgres-includes=/usr/local/pgsql/include --with-
postgres-libs=/usr/local/pgsql/lib --with-odbc-libs=/usr/local/lib --with-
odbc-includes=/usr/local/include --with-tcktk-includes=/usr/include/
tcl8.3/

This DID (and now it's compiling):

 ./configure --with-postgres-includes=/usr/local/pgsql/include --with-
tcltk-includes=/usr/include/tcl8.3/ --with-postgres-libs=/usr/local/pgsql/
lib --with-odbc-libs=/usr/local/lib --with-odbc-includes=/usr/local/include
When there was an error, it logged:

checking whether to use Tcl/Tk... yes
checking for location of Tcl/Tk includes... 
checking for tcl.h... no
configure: error: *** Unable to locate Tcl includes.
bouteloua:/vmware/smitch/grass5.0.0pre4> tail config.log
configure:6978: gcc -o conftest -g -O2    conftest.c -lgd  -lgd   1>&5
configure:7012: checking whether to use Tcl/Tk
configure:7032: checking for location of Tcl/Tk includes
configure:7058: checking for tcl.h
configure:7066: gcc -E   conftest.c >/dev/null 2>conftest.out
configure:7062: tcl.h: No such file or directory
configure: failed program was:
#line 7061 "configure"
#include "confdefs.h"
#include <tcl.h>


Thanks

smitch
Tue, Jun 11 2002 21:11:12    Mail sent by glynn.clements@virgin.net  
Return-Path <glynn.clements@virgin.net>
Delivered-To grass-bugs@lists.intevation.de
From Glynn Clements <glynn.clements@virgin.net>
MIME-Version 1.0
Content-Type text/plain; charset=us-ascii
Content-Transfer-Encoding 7bit
Message-ID <15622.19162.189601.811937@cerise.nosuchdomain.co.uk>
Date Tue, 11 Jun 2002 20:09:14 +0100
To Request Tracker <grass-bugs@intevation.de>
Cc grass5@grass.itc.it
Subject Re: [GRASS5] [bug #1109] (grass) configure failing to find tcl.h depending on argument order
In-Reply-To <20020611175613.6DB2113A01@lists.intevation.de>
References <20020611175613.6DB2113A01@lists.intevation.de>
X-Mailer VM 6.94 under 21.4 (patch 4) "Artificial Intelligence (candidate #1)" XEmacs Lucid
X-Spam-Status No, hits=-2.5 required=5.0 tests=IN_REP_TO,ORDER_STATUS version=2.20
X-Spam-Level
Request Tracker wrote:

> configure was bailing looking for tcl.h, even though I specifically told it
to 
> look in /usr/include/tcl8.3 (where Debian has put it) - I also 
> experimented with /usr/include/tk8.3, which debian also has, as well as 
> making sure I point to the lib directories too, all with no effect.

You may need to specify both, e.g.

	--with-tcltk-includes='/usr/include/tcl8.3 /usr/include/tk8.3'

> I first tried bypassing the error using --with-tcltk=no but it seemed to be
> ignored, I got the same error.

Odd. Did you spell it correctly (see below)?

> Then, on a hunch, tried moving the --with-
> tcltk-includes directive earlier in the ./configure command line, and it 
> WORKED !?!  Now I'm less sure this is a GRASS bug but will submit it 
> here for someone more knowledgeable to judge.
> SO:
> This didn't work:
> 
>  ./configure --with-postgres-includes=/usr/local/pgsql/include --with-
> postgres-libs=/usr/local/pgsql/lib --with-odbc-libs=/usr/local/lib --with-
> odbc-includes=/usr/local/include --with-tcktk-includes=/usr/include/
                                          ^^^^^
> tcl8.3/

I wouldn't expect it to, due to the misspelled option.

An unfortunate fact of autoconf's behaviour is that it (intentionally)
doesn't complain about --with-* options which it doesn't understand;
misspelled options are silently ignored. Unfortunately, this isn't
easy to fix.

> This DID (and now it's compiling):
> 
>  ./configure --with-postgres-includes=/usr/local/pgsql/include --with-
> tcltk-includes=/usr/include/tcl8.3/ --with-postgres-libs=/usr/local/pgsql/
> lib --with-odbc-libs=/usr/local/lib --with-odbc-includes=/usr/local/include
> 
> 
> When there was an error, it logged:
> 
> checking whether to use Tcl/Tk... yes
> checking for location of Tcl/Tk includes... 
> checking for tcl.h... no
> configure: error: *** Unable to locate Tcl includes.
> bouteloua:/vmware/smitch/grass5.0.0pre4> tail config.log
> configure:6978: gcc -o conftest -g -O2    conftest.c -lgd  -lgd   1>&5
> configure:7012: checking whether to use Tcl/Tk
> configure:7032: checking for location of Tcl/Tk includes
> configure:7058: checking for tcl.h
> configure:7066: gcc -E   conftest.c >/dev/null 2>conftest.out

Note the lack of a "-I" switch. This indicates that either
-with-tcltk-includes wasn't specified, or its argument was empty (this
would be the case if there was a space after the '=').

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


Tue, Jun 11 2002 21:26:57    Mail sent by smitch@mac.com  
Return-Path <smitch@mac.com>
Delivered-To grass-bugs@lists.intevation.de
Date Tue, 11 Jun 2002 15:26:35 -0400
Subject Re: [bug #1109] (grass) configure failing to find tcl.h depending on argument order
Content-Type text/plain; charset=US-ASCII; format=flowed
Mime-Version 1.0 (Apple Message framework v482)
From Scott Mitchell <smitch@mac.com>
To Glynn Clements via RT <grass-bugs@intevation.de>
Content-Transfer-Encoding 7bit
In-Reply-To <20020611191112.8233013A01@lists.intevation.de>
Message-Id <24C5E38E-7D71-11D6-ACFE-0030656EF29C@mac.com>
X-Mailer Apple Mail (2.482)
X-Spam-Status No, hits=-2.5 required=5.0 tests=IN_REP_TO,ORDER_STATUS version=2.20
X-Spam-Level
On Tuesday, June 11, 2002, at 03:11 PM, Glynn Clements via RT wrote:

>
> Request Tracker wrote:
>
>> configure was bailing looking for tcl.h, even though I specifically 
>> told it to
>> look in /usr/include/tcl8.3 (where Debian has put it) - I also
>> experimented with /usr/include/tk8.3, which debian also has, as well as
>> making sure I point to the lib directories too, all with no effect.
>
> You may need to specify both, e.g.
>
> 	--with-tcltk-includes='/usr/include/tcl8.3 /usr/include/tk8.3'
>
Yeah, tried that.

>> I first tried bypassing the error using --with-tcltk=no but it seemed 
>> to be
>> ignored, I got the same error.
>
> Odd. Did you spell it correctly (see below)?

Ugh.  That was it, a little typo.  Time to pick a bigger and clearer 
terminal font.

Sorry to bother you and thanks for your sharp eyes.  Now I know about 
the "silent treatment" of autoconf.

>>
>> This didn't work:
>>
>>  ./configure --with-postgres-includes=/usr/local/pgsql/include --with-
>> postgres-libs=/usr/local/pgsql/lib --with-odbc-libs=/usr/local/lib 
>> --with-
>> odbc-includes=/usr/local/include --with-tcktk-
>> includes=/usr/include/tcl8.3/
>
> I wouldn't expect it to, due to the misspelled option.
>
What, it can't autocorrect "tcktk" ?! ;)

> An unfortunate fact of autoconf's behaviour is that it (intentionally)
> doesn't complain about --with-* options which it doesn't understand;
> misspelled options are silently ignored. Unfortunately, this isn't
> easy to fix.
>
Thanks again,

Scott


Fri, Apr 11 2003 19:36:54    Status changed to resolved by smitchell  
Comment | Reply | Take | Open

You are currently authenticated as guest.
[Show Configuration] [Login as another user]

Users Guide - Mail Commands - Homepage of RequestTracker 1.0.7 - list any request