On my new Debian Testing system, I have installed Tcl8.5 and Tk8.5, rather than the older Tcl8.4 and Tk8.4.
This has lead to problems when trying to install the Tcl-0.95 modulefrom CPAN - http://search.cpan.org/dist/Tcl/
The errors I was seeing looked like the following:
> perl Makefile.PL
LIBS = -ltcl8.5
Use of uninitialized value in concatenation (.) or string at Makefile.PL line 204.
Use of uninitialized value in string at Makefile.PL line 220.
Checking if your kit is complete...
Writing Makefile for Tcl
Make then subsequently fails with:
> cp Tcl.pm blib/lib/Tcl.pm
typemap Tcl.xs > Tcl.xsc && mv Tcl.xsc Tcl.c
Please specify prototyping behavior for Tcl.xs (see perlxs manual)
cc -c -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS
-DDEBIAN -fno-strict-aliasing -pipe -I/usr/local
-DVERSION=\"0.95\" -DXS_VERSION=\"0.95\" -fPIC
Tcl.xs:33:17: error: tcl.h: No such file or directory
Tcl.xs:127: error: expected ')' before '*' token
*snip* Lots more similar errors
make: *** Tcl.o Error 1
I have overcome this by digging around and find where exactly my Tcl config file resided and the correct include path. My new Makefile command looked like this:
>sudo perl Makefile.PL --tclsh
The module was then made and installed without error. I think it was probably the inclusion of the include path that did the trick, as that's where the missing tcl.h is to be found