[GRASSLIST:3053] Re: NVIZ2.2 compile error. Missing tkIntDecls.h?

Paul Kelly paul-grass at stjohnspoint.co.uk
Thu Jan 31 05:24:25 EST 2002

I had a similar problem compiling on IRIX. I haven't checked the
following instructions for accuracy but it should give you an idea what
to do---this method works for me.

I think what NVIZ is doing is creating it's own slightly modified
version of the tk wish shell, and it needs certain things that only come
in the source code for tcl and tk.

You should compile both of them as static libraries with ./configure
--disable-shared. I don't think you need to install them but you should
copy the resulting libraries libtcl8.2.a and libtk8.2.a to a
sub-directory (you need to create this) named LIB.architecture, e.g.

Then I needed to modify the Gmakefile.in in the NVIZ src directory, i.e. 
I added the lines
TCLTKLIBS = /path-to-src/tcl8.2.1/unix/libtcl8.2.a \
[Note: the compiler seems to add in LIB.architecture/ before the
filename; that was why I needed to create this extra directory.]
TCLINCDIR = /path-to-src/tcl8.2.1/generic
[This is where the tkIntDecls.h and all the other include files it needs
TKINCDIR = /path-to-src/tk8.2.1/generic

These three variables are included in the XTRA_LDFLAGS lower down in the
makefile but they don't seem to be defined anywhere else.

Let me know if this works for you or if anybody has a better way.

Paul Kelly.

John Gillette wrote:
> I am compiling Grass on a sparc-sun-solaris2.7 machine.
> ./configure fails (as it should) as I one by one turn off the following:
>   --without-dbm --without-gd --without-postgres without-odbc --without-fft
> ./configure then completes.
> make runs for about an hour and then error.log shows one error:
>   Module source code not installed: src.contrib/GMSL/NVIZ2.2 (ignored)
> Searching the tee output file I created during make shows the following:
>   In file included from togl.c:144:
>   tkInt8.1.1.h:862: tkIntDecls.h: No such file or directory
>   *** Error code 1
>   make: Fatal error: Command failed for target
> `OBJ.sparc-sun-solaris2.7/togl.o'
>   Current working directory /<bla
> bla>/grass5.0.0pre3/src.contrib/GMSL/NVIZ2.2/src
>   *** Error code 1
>   make: Fatal error: Command failed for target `nvwish'
>   Current working directory /<bla
> bla>/grass5.0.0pre3/src.contrib/GMSL/NVIZ2.2
>   GISGEN failure at STEP: src.contrib/GMSL/NVIZ2.2
> Doing a find from grass5.0.0pre3/ down finds several tkInt8 files including
> tkInt8.1.1.h in /src.contrib/GMSL/NVIZ2.2/src but NO tkIntDecls.h.
> There is a tkIntDecls8.3.h.
> Does NVIZ2.2 in pre3 compile on other systems?
> Did ./configure not catch something or am I missing some source code
> for tkIntDecls.h?
> Should I edit tkInt8.1.1.h so that the include is for thIntDecs8.3.h?
> Thanks,
> John Gillette

More information about the grass-user mailing list