[PD-dev] new tcl is 25% faster...

Frank Barknecht fbar at footils.org
Wed Feb 25 00:13:37 CET 2004


Hallo,
Josh Steiner hat gesagt: // Josh Steiner wrote:

> i was just looking at the tcl.tk site and noticed tcl 8.4.4 looks like 
> its around 25% faster than 8.3.5.  anyone happen to know where miller is 
> getting wish83.exe?  i'd like to try out 8.4.4 to see if it helps my 
> performance environment noticably.
> 
> anyone experimented with 8.4.4 yet?  i wonder if its fully compatable...

I'm experimenting currently. It does work in general with
pd-0.37-test6, but it is a bit tricky to compile because there are
some problems for Pd's configure system finding tk8.4 includes on my
debian system. On removing tk8.3-dev I also removed several symlinks I
had before: 
  
  /usr/include/tk.h -> /usr/include/tcl8.3/tk.h
  /usr/include/tkDecls.h -> /usr/include/tcl8.3/tkDecls.h
  /usr/include/tkIntXlibDecls.h -> /usr/include/tcl8.3/tkIntXlibDecls.h
  /usr/include/tkPlatDecls.h -> /usr/include/tcl8.3/tkPlatDecls.h

Without these, Pd doesn't find tk.h,... in their new location,
/usr/include/tcl8.4.

Pd's autoconf *does* find tcl/tk8.4, though. From config.log:

ac_cv_lib_tcl8_4_main=yes
ac_cv_lib_tcl8_5_main=no
ac_cv_lib_tcl8_6_main=no
ac_cv_lib_tcl8_7_main=no
ac_cv_lib_tk8_4_main=yes
ac_cv_lib_tk8_5_main=no
ac_cv_lib_tk8_6_main=no
ac_cv_lib_tk8_7_main=no

Still I get an error compiling the two tk-files: 

cc -g -O2 -DPD -DUNIX  -Wall -W -Wstrict-prototypes -Wno-unused -Wno-parentheses -Wno-switch -O6 -funroll-loops -fomit-frame-pointer -DDL_OPEN -DPA_USE_OSS -DPA_LITTLE_ENDIAN       -DUSEAPI_OSS         -I../portaudio/pa_common         -I../portaudio/pablio -I../portaudio/portmidi-macosx         -fno-strict-aliasing -DPA_USE_ALSA -DUSEAPI_ALSA -DUSEAPI_JACK -DINSTALL_PREFIX=\"/usr/local\" -I.  -c -o ../obj/t_main.o t_main.c 
t_main.c:18:16: tk.h: No such file or directory
t_main.c:46: error: syntax error before '*' token
t_main.c:46: warning: function declaration isn't a prototype
t_main.c: In function `main':
t_main.c:67: warning: implicit declaration of function `Tk_Main'
t_main.c:67: error: `Tcl_AppInit' undeclared (first use in this function)
t_main.c:67: error: (Each undeclared identifier is reported only once
t_main.c:67: error: for each function it appears in.)
t_main.c: At top level:
t_main.c:94: error: syntax error before "Tcl_Interp"
t_main.c:94: warning: type defaults to `int' in declaration of `interp'
t_main.c:94: warning: data definition has no type or storage class
t_main.c:95: error: syntax error before '{' token
t_main.c:107: warning: type defaults to `int' in declaration of `pdgui_startup'
t_main.c:107: warning: parameter names (without types) in function declaration
t_main.c:107: error: conflicting types for `pdgui_startup'
t_main.c:46: error: previous declaration of `pdgui_startup'
t_main.c:107: warning: data definition has no type or storage class
t_main.c:120: error: syntax error before "return"
make: *** [t_main.o] Error 1

The error is to be excpected, because "-I/usr/include/tcl8.4" is
missing. Adding this by hand to "makefile" at line 16 like this: 

GINCLUDE = $(INCLUDE) -I/usr/include/tcl8.4

helps. 

But actually this should be included there as a result of running
configure autmatically. "makefile.in" already includes this line: 

GINCLUDE = $(INCLUDE) @GUIFLAGS@

and configure.in also includes the matching tests like: 

if test $foundit == "no";
then
    AC_CHECK_HEADER(tcl8.4/tcl.h,
    	GUIFLAGS="$GUIFLAGS -I/usr/include/tcl8.4";foundit=yes,)

Somehow it still doesn't work. I give up for now, editing this by
hand...

ciao
-- 
 Frank Barknecht                               _ ______footils.org__




More information about the Pd-dev mailing list