Sorry Lary, Sorry Mark, for the current experience...
two old TCL'ers discussing - well.
ETCL user meeting gave follwing informations:
- David Zolli(kroc): JC Wippler stopped, not active, tried to phone him
(He was attending two years ago)
- Rene Zumseil was there and is active maintaining kitgen build system
https://sourceforge.net/projects/kbskit/
- David Zolli was there and provides starkits for mac:
http://www.kroc.tk/tclkit-darwin.html
- Pat Thoyts was not there but is maintaining starkits:
http://www.patthoyts.tk/tclkit.html#win32
- Current starkit sources and a recent sdx with some bugfixes are on
code.google:
http://code.google.com/p/tclkit/
Some (often fancy) ideas:
- Arnulf Wiedemann: Use sqlite as storage backend
The following ex-starkit guys have new jobs, which are hopefully
TCL-related:
- Eric Hassold (ETCL starkit)
- Daniel A Steffen (MAC)
Have a sunny and relaxed week-end,
Harald
Add to that ActiveTcl basekits. Although commercial (you need a TDK or
ActiveTcl OEM license to redistribute), you can rely on them being
available, up-to-date and supported.
Jeff
I build 32 bit binaries on Windows, Linux, SunOS and Irix and 64 bit binaries
on Linux.
rene
> If I remember right David Zolli could build mac binaries. But only
> for the older system (carbon?) and it failed for the new mac system (cocoa?).
You're right Rene.
> I think he failed early in buildinig tcl or tk. So I think he could give some
> information on this topic.
I found some clues since we talked about that at euroTcl. Accordinf DKF, the problem comes from carbon API which is 32-bit only.
I think XCode from Snow Leopard DVD builds 64-bit binaries by default. I beleive that's the reason why building tclkit 8.5.8 fails when I try with this XCode and why it works when I downgrade my whole XCode installation with the one from 10.5 DVD.
On the other hand, building tclkit 8.6 cocoa with XCode for 10.5 doesn't work and it would probably work if I upgrade XCode to 10.6. In this case, I beleive that's because cocoa expects 64-bit while this XCode does 32-bit binaries by default.
As I'm not a XCode user, I don't know how to fixe this (I don't even know if it could be fixed).
If nobody gives me a solution, I'll wait 8.6 becomes a bit more mature before before droping 8.5 and switching my nightly builds on http://www.kroc.tk/tclkit-darwin.html to current cvs head.
--
David Zolli
gcc -c -Os -pipe -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -Wall -fno-common -I/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tk/unix/../unix -I/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tk/unix/../generic -I/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tk/unix/../bitmaps -I/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tcl/generic -I/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tcl/unix -I/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tk/unix/../macosx -I/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tk/unix/../xlib -DPACKAGE_NAME=\"tk\" -DPACKAGE_TARNAME=\"tk\" -DPACKAGE_VERSION=\"8.5\" -DPACKAGE_STRING=\"tk\ 8.5\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DMODULE_SCOPE=extern\ __attribute__\(\(__visibility__\(\"hidden\"\)\)\) -DMAC_OSX_TCL=1 -DHAVE_COREFOUNDATION=1 -DTCL_SHLIB_EXT=\".dylib\" -DTCL_CFG_OPTIMIZED=1 -DTCL_CFG_DEBUG=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_INTPTR_T=1 -DHAVE_UINTPTR_T=1 -DHAVE_PW_GECOS=1 -DHAVE_AVAILABILITYMACROS_H=1 -DHAVE_WEAK_IMPORT=1 -DMAC_OSX_TK=1 -DTCL_NO_DEPRECATED -mdynamic-no-pic /Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tk/unix/../unix/tkAppInit.c
rm -f wish8.5.rsrc
if test "/Developer/Tools/Rez" != ""; then \
/Developer/Tools/Rez -o wish8.5.rsrc -d "SystemSevenOrLater=1" -useDF -ro -i /Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tk/unix/../generic -i /Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tcl/generic /Users/dzolli/Programmation/Tcl/tclkit/build/8.5/tk/unix/../macosx/tkMacOSXAETE.r; fi
gcc -Os -pipe -fpascal-strings -isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4 -headerpad_max_install_names -Wl,-search_paths_first tkAppInit.o -L/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/kroc/build/tkdyn -ltk8.5 \
-L/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/kroc/build/lib -ltcl8.5 -framework CoreFoundation -framework Carbon -framework IOKit -framework CoreFoundation -sectcreate __TEXT __info_plist Wish-Info.plist -o wish
strip: can't open file: *tk8*.so (No such file or directory)
make: *** [build/tkdyn] Error 1
I guess strip should use *tk8*.dylib instead of *tk8*.so but, once again, I don't know where to fixe this.
--
David Zolli
> Just another thing: if I try to build tclkit 8.5.8 with metakit instead of vlerq I got this error:
> .../..
> strip: can't open file: *tk8*.so (No such file or directory)
> make: *** [build/tkdyn] Error 1
>
> I guess strip should use *tk8*.dylib instead of *tk8*.so but, once again, I don't know where to fixe this.
Sometime writing helps to find solution. I change line 27 in makefile.include from:
SO ?=.so
to:
SO ?=.dylib
and now I'm able to build tclkit-dyn.
But kitgen still fails with the metakit flavour:
cc1plus: warning: command line option "-Wno-implicit-int" is valid for C/ObjC but not for C++
rm -f libMk4tcl2.4.9.7.a
ar cr libMk4tcl2.4.9.7.a column.o custom.o derived.o field.o fileio.o format.o handler.o persist.o remap.o std.o store.o string.o table.o univ.o view.o viewx.o mk4tcl.o mk4too.o
ranlib: file: libMk4tcl2.4.9.7.a(std.o) has no symbols
ranlib libMk4tcl2.4.9.7.a
ranlib: file: libMk4tcl2.4.9.7.a(std.o) has no symbols
/usr/bin/install -c libMk4tcl2.4.9.7.a /Users/dzolli/Programmation/Tcl/tclkit/build/8.5/kroc/build/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.a
ranlib /Users/dzolli/Programmation/Tcl/tclkit/build/8.5/kroc/build/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.a
ranlib: file: /Users/dzolli/Programmation/Tcl/tclkit/build/8.5/kroc/build/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.a(std.o) has no symbols
Installing header files in /Users/dzolli/Programmation/Tcl/tclkit/build/8.5/kroc/build/include
mkdir -p build/itcl && cd build/itcl && CFLAGS="-isysroot /Developer/SDKs/MacOSX10.4u.sdk -mmacosx-version-min=10.4" && export CFLAGS && \
sh ../../../../8.x/itcl/configure --disable-shared --with-tcl=../lib --prefix=/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/kroc/build --exec-prefix=/Users/dzolli/Programmation/Tcl/tclkit/build/8.5/kroc/build && \
make install-binaries install-libraries
checking for correct TEA configuration... ok (TEA 3.6)
checking whether ln -s works... yes
configure: error: cannot find install-sh or install.sh in tclconfig ../../../../8.x/itcl/tclconfig
make: *** [build/itcl] Error 1
--
David Zolli
> configure: error: cannot find install-sh or install.sh in tclconfig ../../../../8.x/itcl/tclconfig
> make: *** [build/itcl] Error 1
I made another step: if I build itcl3.4b1 downloaded from sourceforge instead of cvs kitgen build tclkit and tclkitsh.
But, when I run them, I have this error:
application-specific initialization failed: couldn't read file "/private/tmp/tclkit/lib/tcl8.5/init.tcl": not a directory
The path is not hardcoded and depend where tclkit (or tclkish) was ran.
It looks like Metakit is not working.
This is what I got when I compiled it:
ranlib: for architecture: ppc file: libMk4tcl2.4.9.7.a(std.o) has no symbols
ranlib: for architecture: i386 file: libMk4tcl2.4.9.7.a(std.o) has no symbols
ranlib: for architecture: ppc file: /Users/dzolli/Programmation/Tcl/tclkit/build/8.5/kroc/build/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.a(std.o) has no symbols
ranlib: for architecture: i386 file: /Users/dzolli/Programmation/Tcl/tclkit/build/8.5/kroc/build/lib/Mk4tcl2.4.9.7/libMk4tcl2.4.9.7.a(std.o) has no symbols
I have the same kind of error for Tkdyn but it seems tclkit-dyn works anyway:
ranlib: for architecture: ppc file: libtk8.5.a(ttkSquare.o) has no symbols
ranlib: for architecture: ppc file: libtk8.5.a(tkMacOSXDebug.o) has no symbols
ranlib: for architecture: i386 file: libtk8.5.a(ttkSquare.o) has no symbols
ranlib: for architecture: i386 file: libtk8.5.a(tkMacOSXDebug.o) has no symbols
ranlib: for architecture: ppc file: libtk8.5.a(ttkSquare.o) has no symbols
ranlib: for architecture: ppc file: libtk8.5.a(tkMacOSXDebug.o) has no symbols
ranlib: for architecture: i386 file: libtk8.5.a(ttkSquare.o) has no symbols
ranlib: for architecture: i386 file: libtk8.5.a(tkMacOSXDebug.o) has no symbols
I uplaoded everything to http://www.kroc.tk/tclkit-darwin.html so you can have look at it.
> Le 15 juin 2010 à 17:12, David Zolli a écrit :
>
>>
> when I run them, I have this error:
>
> application-specific initialization failed: couldn't read file "/private/tmp/tclkit/lib/tcl8.5/init.tcl": not a directory
I think the problem comes from build/lib/Mk4tcl2.4.9.7 it only contains libMk4tcl2.4.9.7.a and there is no pkgIndex.tcl file.
I use source downloaded on JCW website: http://www.equi4.com/pub/tk/tars/mk.tar.gz so I don't know it the problem comes from source or if kitgen is the culprit.
--
David Zolli