Forgot your password?
typodupeerror
User Journal

PhillC's Journal: Installing Tcl-0.95 module from CPAN

Journal by PhillC

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
> tclsh=/usr/bin/tclsh
tcl_library=/usr/share/tcltk/tcl8.5
tcl_version=8.5
LIBS = -ltcl8.5
Use of uninitialized value in concatenation (.) or string at Makefile.PL line 204.
INC =
DEFINE =
Use of uninitialized value in string at Makefile.PL line 220.
Checking if your kit is complete...
Looks good
Writing Makefile for Tcl

Make then subsequently fails with:

> make
> cp Tcl.pm blib/lib/Tcl.pm /usr/bin/perl /usr/share/perl/5.8/ExtUtils/xsubpp
-typemap /usr/share/perl/5.8/ExtUtils/typemap -typemap
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 /include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -O2
-DVERSION=\"0.95\" -DXS_VERSION=\"0.95\" -fPIC
"-I/usr /lib/perl/5.8/CORE" Tcl.c
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 /usr/bin/tclsh8.5 --tclconfig /usr/lib/tcl8.5/tclConfig.sh --include /usr/include/tcl8.5

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

This discussion has been archived. No new comments can be posted.

Installing Tcl-0.95 module from CPAN

Comments Filter:

A penny saved is a penny to squander. -- Ambrose Bierce

Working...