[GRASS5] 5.3 Cygwin, Tcl/Tk, NVIZ

Richard Greenwood rich at greenwoodmap.com
Sat Mar 6 18:32:24 EST 2004


Glynn Clements wrote:
> Richard Greenwood wrote:
> 
> 
>>>>A couple things, neither is good news.
>>>>
>>>>1. Building 5.3 under Cygwin was successful with the 2004_01_03 
>>>>snapshot, however the 2004_01_10 and 2004_02_28 snapshots both fail in 
>>>>configure as follows:
>>>>
>>>>checking whether to use Tcl/Tk... yes
>>>>checking for location of Tcl/Tk includes...
>>>>checking for tcl.h... yes
>>>>checking for tk.h... yes
>>>>checking Tcl version... 8.3
>>>>checking Tk version... 8.3
>>>>checking for location of Tcl/Tk library... /usr/local/lib/tcl8.3
>>>>checking for Tcl_Init in -ltcl... no
>>>>checking for Tcl_Init in -ltcl... no
>>>>checking for Tcl_Init in -ltcl8.3... no
>>>>checking for Tcl_Init in -ltcl8.3... no
>>>>checking for Tcl_Init in -ltcl83... no
>>>>checking for Tcl_Init in -ltcl83... no
>>>>configure: error: *** Unable to locate Tcl library.
>>>>
>>>>Is it possible that something changed in the 5.3 source between
>>>>January 3 and 10 that would cause this?
>>>
>>>
>>>There were two changes to configure[.in] between those dates:
>>>
>>>revision 1.120
>>>date: 2004/01/09 19:57:05;  author: glynn;  state: Exp;  lines: +3 -4
>>>Don't generate makefiles in configure script
>>>Only (re)build makefiles when necessary
>>>----------------------------
>>>revision 1.119
>>>date: 2004/01/05 10:26:25;  author: paul;  state: Exp;  lines: +46 -5
>>>(1) Experimental shared libary support (--enable-gmake=no --enable-shared=yes)
>>>(2) --with-gdal is now the default
>>>(3) startup script now called grass53 (NAME_VER=53)
>>>(4) Set LD_LIBRARY_PATH properly in Init.sh
>>>
>>>However, neither of these directly touched the Tcl/Tk checks.
>>>
>>>Look for the corresponding error messages in config.log.
>>
>>Here are the last couple dozen lines of my configure.log from the
>>2004_02_28 snapshot.
> 
> 
>>cannot find -ltcl83
> 
> 
>>cannot find -ltcl83
> 
> 
> I need to see the case (assuming that their is one) which fails with a
> different error. On any given system, four of the six attempts will
> normally fail with a "cannot find" error.
> 
> The Tcl checks test for -ltcl, -ltcl8.3 and -ltcl83 (for the last two,
> the exact version number is taken from <tcl.h>), both with and without
> $DLLIB (which is set to the library which provides dlsym).
> 
> Depending upon what your Tcl library is actually called, two of the
> three pairs will fail (if it's called libtcl8.3, the -ltcl and -ltcl83
> pairs will fail; the -ltcl8.3 pair would be the interesting one).

Below are the config.log results for all six tests. I should note that I 
and using the switch:
    --with-tcltk-libs=/usr/local/lib/tcl8.3

configure:7826: checking for location of Tcl/Tk library
configure:7856: checking for Tcl_Init in -ltcl
configure:7873: gcc -o conftest -O2    -I/usr/include/ncurses 
-L/usr/local/lib/tcl8.3 -Wl,--export-dynamic conftest.c -ltcl   1>&5
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/../../../../i686-pc-cygwin/bin/ld: 
cannot find -ltcl
collect2: ld returned 1 exit status
configure: failed program was:
#line 7862 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
char Tcl_Init();

int main() {
Tcl_Init()
; return 0; }
configure:7892: checking for Tcl_Init in -ltcl
configure:7909: gcc -o conftest -O2    -I/usr/include/ncurses 
-L/usr/local/lib/tcl8.3 -Wl,--export-dynamic conftest.c -ltcl    1>&5
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/../../../../i686-pc-cygwin/bin/ld: 
cannot find -ltcl
collect2: ld returned 1 exit status
configure: failed program was:
#line 7898 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
char Tcl_Init();

int main() {
Tcl_Init()
; return 0; }
configure:7936: checking for Tcl_Init in -ltcl8.3
configure:7953: gcc -o conftest -O2    -I/usr/include/ncurses 
-L/usr/local/lib/tcl8.3 -Wl,--export-dynamic conftest.c -ltcl8.3   1>&5
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/../../../../i686-pc-cygwin/bin/ld: 
cannot find -ltcl8.3
collect2: ld returned 1 exit status
configure: failed program was:
#line 7942 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
char Tcl_Init();

int main() {
Tcl_Init()
; return 0; }
configure:7972: checking for Tcl_Init in -ltcl8.3
configure:7989: gcc -o conftest -O2    -I/usr/include/ncurses 
-L/usr/local/lib/tcl8.3 -Wl,--export-dynamic conftest.c -ltcl8.3    1>&5
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/../../../../i686-pc-cygwin/bin/ld: 
cannot find -ltcl8.3
collect2: ld returned 1 exit status
configure: failed program was:
#line 7978 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
char Tcl_Init();

int main() {
Tcl_Init()
; return 0; }
configure:8016: checking for Tcl_Init in -ltcl83
configure:8033: gcc -o conftest -O2    -I/usr/include/ncurses 
-L/usr/local/lib/tcl8.3 -Wl,--export-dynamic conftest.c -ltcl83   1>&5
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/../../../../i686-pc-cygwin/bin/ld: 
cannot find -ltcl83
collect2: ld returned 1 exit status
configure: failed program was:
#line 8022 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
char Tcl_Init();

int main() {
Tcl_Init()
; return 0; }
configure:8052: checking for Tcl_Init in -ltcl83
configure:8069: gcc -o conftest -O2    -I/usr/include/ncurses 
-L/usr/local/lib/tcl8.3 -Wl,--export-dynamic conftest.c -ltcl83    1>&5
/usr/lib/gcc-lib/i686-pc-cygwin/2.95.3-10/../../../../i686-pc-cygwin/bin/ld: 
cannot find -ltcl83
collect2: ld returned 1 exit status
configure: failed program was:
#line 8058 "configure"
#include "confdefs.h"
/* Override any gcc2 internal prototype to avoid an error.  */
/* We use char because int might match the return type of a gcc2
     builtin and then its argument prototype would still apply.  */
char Tcl_Init();

int main() {
Tcl_Init()
; return 0; }



>>>>==== 3/3/2004  NVWISH2.2 error message ====
>>>>
>>>>Error in startup script: integer value too large to represent
>>>>    while executing
>>>>"expr int([lindex $range 0])"
>>>>    (procedure "mkcutplanePanel" line 55)
>>>>    invoked from within
> 
> 
> Hmm. That's exactly the same error which Scott reported yesterday:
> 
> 	http://intevation.de/rt/webrt?serial_num=2349
> 
> That was with 5.0.3 on Linux, so this may not actually be a Cygwin
> issue. He reported that it only occurred when using a specific map for
> the colours. Try different options, e.g. "nviz -q".

It works! I was launching with "nviz -q", which generated the above 
error, howerver "nviz map_name" opened Nviz in the twm windows manager. 
In the "rootless" mode the Nviz control panel exhibits some problems.

Thanks Glynn!

-- 
Richard Greenwood
www.greenwoodmap.com




More information about the grass-dev mailing list