Slashdot stories can be listened to in audio form via an RSS feed, as read by our own robotic overlord.

 



Forgot your password?
typodupeerror

Slashdot videos: Now with more Slashdot!

  • View

  • Discuss

  • Share

We've improved Slashdot's video section; now you can view our video interviews, product close-ups and site visits with all the usual Slashdot options to comment, share, etc. No more walled garden! It's a work in progress -- we hope you'll check it out (Learn more about the recent updates).

×
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:

... though his invention worked superbly -- his theory was a crock of sewage from beginning to end. -- Vernor Vinge, "The Peace War"

Working...