[GRASS-dev] Unable to locate Tcl library
Jan Tosovsky
j.tosovsky at tiscali.cz
Wed Mar 17 13:32:06 EDT 2010
Thanks for this exhaustive explanation! This clarified what was going on.
Seeing the result:
configure:759: checking host system type
configure:782: checking for gcc
configure:886: checking whether the C compiler (gcc ) works
configure:902: gcc -o conftest conftest.c 1>&5
configure:928: checking whether the C compiler (gcc ) is a cross-compiler
configure:933: checking whether we are using GNU C
one can register launching conftest file.
Yes, this is the consequence of a problem described in the another thread:
Exploit.DEM in conftest.exe
My antivirus is blocking this file so the configuration script fails to
evaluate cross-compiling settings properly.
I've added affected path into the list of exceptions and now it seems to be
Ok.
Thanks,
Jan
> -----Original Message-----
> From: Glynn Clements [mailto:glynn at gclements.plus.com]
> Sent: Wednesday, March 17, 2010 11:04 AM
> To: Jan Tosovsky
> Cc: grass-dev at lists.osgeo.org
> Subject: Re: [GRASS-dev] Unable to locate Tcl library
>
>
> Jan Tosovsky wrote:
>
> > the last month everything was Ok when I was building Grass from
> sources
> > (according to [1]) on my Win7 64bit. Now the build fails in a
> configuring
> > phase and an error message "Unable to locate Tcl library." appears.
> To tell
> > the truth, I cannot confirm if the final build was Tcl ready as I use
> > wxPython GUI by default.
> >
> > I've found several Tcl libraries on my PC (version 8.5.2) so it is
> weird.
> > Was there any refactoring in the meantime? Is it any kind of
> regression or
> > am I missing something?
> >
> > Here is the snippet of a console output:
>
> > checking Tcl version... unknown (cross-compiling)
> > checking Tk version... unknown (cross-compiling)
>
> Are you actually cross-compiling?
>
> configure decides if you're cross-compiling by compiling and executing
> the program:
>
> #include "confdefs.h"
> main(){return(0);}
>
> If it fails to compile, you get "C compiler cannot create executables".
> If it compiles but cannot be executed, configure assumes that you're
> cross-compiling.
>
> > checking for location of Tcl/Tk library...
> > checking for Tcl_Init in -ltcl... no
> > checking for Tcl_Init in -ltcl... no
> > checking for Tcl_Init in -ltclUNKNOWN... no
> > checking for Tcl_Init in -ltclUNKNOWN... no
> > checking for Tcl_Init in -ltclUNKNOWN... no
> > checking for Tcl_Init in -ltclUNKNOWN... no
> > configure: error: *** Unable to locate Tcl library.
>
> The configure script checks for the Tcl/Tk version by compiling and
> executing a test program which does:
>
> FILE *fp = fopen("conftestdata","w");
> fputs(TCL_VERSION, fp);
>
> If you're cross-compiling, it can't run the executables which the
> compiler generates, so it can't detect the version. If the library name
> contains the version number (e.g. libtcl85.a), you lose. You can get
> around this by making a copy of the library with the correct name.
>
> However, I'm guessing that you're not actually cross-compiling, and the
> problem is that configure thinks that you are.
>
> Look at the top of the config.log file; the first few lines should look
> something like:
>
> This file contains any messages produced by compilers while
> running configure, to aid debugging if configure makes a mistake.
>
> configure:754: checking host system type
> configure:777: checking for gcc
> configure:881: checking whether the C compiler (gcc -g -O2) works
> configure:897: gcc -o conftest -g -O2 conftest.c 1>&5
> configure:894: warning: return type defaults to 'int'
> configure:923: checking whether the C compiler (gcc -g -O2) is a
> cross-compiler
> configure:928: checking whether we are using GNU C
>
> If there are any errors there, please post the beginning of the file
> (everything up to "checking whether we are using GNU C").
>
> --
> Glynn Clements <glynn at gclements.plus.com>
More information about the grass-dev
mailing list