Hello all,
I am trying to build xotcl 1.1.0 with tk/tcl8.4.4 from the ports tree on a freebsd 4.9 box and it is not working. The problem os that tk/tcl on freebsd is setup such that you can have mutpile version of tcl on the box at the same time and this breaks the build process. Here is my configure line:
./configure --with-all --with-tcl=/usr/local/lib/tcl8.4/ --with-tk=/usr/local/lib/tk8.4 --with-tkinclude=/usr/local/include/tk8.4
here is the output from gmake: $ gmake cc -DUSE_TCL_STUBS -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DVERSION="1.1" -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_UNISTD_H=1 -DCOMPILE_XOTCL_STUBS=1 -DTCL_SHLIB_EXT=".so" -I/usr/ports/lang/tcl84/work/tcl8.4.4/generic -I/usr/ports/lang/tcl84/work/tcl8.4.4/unix -I"./../generic" -I"./../unix" -O -fPIC -g -DXOTCLVERSION="1.1" -DXOTCLPATCHLEVEL=".0" -c `echo ../generic/xotcl.c` -o so/xotcl.o In file included from ../generic/xotcl.c:47: ../generic/xotclInt.h:15: tclInt.h: No such file or directory In file included from ../generic/xotclInt.h:16, from ../generic/xotcl.c:47: ../generic/xotcl.h:30: tcl.h: No such file or directory ../generic/xotcl.h:102: #error Tcl distribution is TOO OLD, we require at least tcl8.0 gmake: *** [so/xotcl.o] Error 1 $
Now the files that are "missing" are in /usr/local/include/tcl8.4:
bogomips# cd ../tcl8.4 bogomips# ls generic tcl.h tclDecls.h tclPlatDecls.h unix bogomips# ls * tcl.h tclDecls.h tclPlatDecls.h
generic: regcustom.h tclDecls.h tclMath.h regerrs.h tclIO.h tclPlatDecls.h regex.h tclInitScript.h tclPort.h regguts.h tclInt.h tclRegexp.h tcl.h tclIntDecls.h tclCompile.h tclIntPlatDecls.h
unix: tclUnixPort.h tclUnixThrd.h
so how hard would it be to add a --with-tclinclude ?
Also I would need to do this for tclsh and wish(do I need to do wish?), on freebsd they are both shell scripts that tel you what you have installed not the real tclsh, like so: bogomips# tclsh In FreeBSD, tclsh is named with a version number. This is because different versions of tclsh are not compatible with each other and they can not all be called "tclsh"! You may need multiple versions installed because a given port may depend on a specific version.
On your system, tclsh is installed under at least the following names:
tclsh8.3 tclsh8.4
Thanks,
marc
On Sunday 30 November 2003 00:45, Marc Spitzer wrote:
Now the files that are "missing" are in /usr/local/include/tcl8.4:
bogomips# cd ../tcl8.4 bogomips# ls generic tcl.h tclDecls.h tclPlatDecls.h unix bogomips# ls * tcl.h tclDecls.h tclPlatDecls.h
generic: regcustom.h tclDecls.h tclMath.h regerrs.h tclIO.h tclPlatDecls.h regex.h tclInitScript.h tclPort.h regguts.h tclInt.h tclRegexp.h tcl.h tclIntDecls.h tclCompile.h tclIntPlatDecls.h
unix: tclUnixPort.h tclUnixThrd.h
so how hard would it be to add a --with-tclinclude ?
this is not hard. i will send you a version with that option with separate mail.
Also I would need to do this for tclsh and wish(do I need to do wish?),
there is no need for wish
on freebsd they are both shell scripts that tel you what you have installed not the real tclsh, like so: bogomips# tclsh In FreeBSD, tclsh is named with a version number. This is because different versions of tclsh are not compatible with each other and they can not all be called "tclsh"! You may need multiple versions installed because a given port may depend on a specific version.
On your system, tclsh is installed under at least the following names:
tclsh8.3 tclsh8.4
this is not unusual. the name of the tclsh is deterimined by configure throught the configure macro SC_PROG_TCLSH. on my system, the tclsh is determined as
TCLSH_PROG = /usr/bin/tclsh8.4
One can use an arbitraty shell my invoking
make "TCLSH_PROG=XXXXXXXXXXXXX" ...
Greetings -gustaf
Thanks.
marc
On Sun, 30 Nov 2003 01:49:45 +0100 Gustaf Neumann neumann@wu-wien.ac.at wrote:
On Sunday 30 November 2003 00:45, Marc Spitzer wrote:
Now the files that are "missing" are in /usr/local/include/tcl8.4:
bogomips# cd ../tcl8.4 bogomips# ls generic tcl.h tclDecls.h tclPlatDecls.h unix bogomips# ls * tcl.h tclDecls.h tclPlatDecls.h
generic: regcustom.h tclDecls.h tclMath.h regerrs.h tclIO.h tclPlatDecls.h regex.h tclInitScript.h tclPort.h regguts.h tclInt.h tclRegexp.h tcl.h tclIntDecls.h tclCompile.h tclIntPlatDecls.h
unix: tclUnixPort.h tclUnixThrd.h
so how hard would it be to add a --with-tclinclude ?
this is not hard. i will send you a version with that option with separate mail.
Also I would need to do this for tclsh and wish(do I need to do wish?),
there is no need for wish
on freebsd they are both shell scripts that tel you what you have installed not the real tclsh, like so: bogomips# tclsh In FreeBSD, tclsh is named with a version number. This is because different versions of tclsh are not compatible with each other and they can not all be called "tclsh"! You may need multiple versions installed because a given port may depend on a specific version.
On your system, tclsh is installed under at least the following names:
tclsh8.3 tclsh8.4
this is not unusual. the name of the tclsh is deterimined by configure throught the configure macro SC_PROG_TCLSH. on my system, the tclsh is determined as
TCLSH_PROG = /usr/bin/tclsh8.4
One can use an arbitraty shell my invoking
make "TCLSH_PROG=XXXXXXXXXXXXX" ...
Greetings
-gustaf
Univ.Prof. Dr.Gustaf Neumann Abteilung für Wirtschaftsinformatik WU-Wien, Augasse 2-6, 1090 Wien _______________________________________________ Xotcl mailing list - Xotcl@alice.wu-wien.ac.at http://alice.wu-wien.ac.at/mailman/listinfo/xotcl
I have attached a log of my build, just incase I am missing something. The --with-tkinclude=/usr/local/include/tk8.4/generic from configure does not seem to be getting to the CC line as a -I directive:
cc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DVERSION="1.1" -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_UNISTD_H=1 -DCOMPILE_XOTCL_STUBS=1 -DTCL_SHLIB_EXT=".so" -I/usr/ports/lang/tcl84/work/tcl8.4.4/generic -I/usr/ports/lang/tcl84/work/tcl8.4.4/unix -I"./../generic" -I"./../unix" -I/usr/local/include/tcl8.4/generic -O -fPIC -g -DXOTCLVERSION="1.1" -DXOTCLPATCHLEVEL=".0" -c `echo ../unix/tkAppInit.c` -o o/tkAppInit.o ../unix/tkAppInit.c:19: tk.h: No such file or directory gmake: *** [o/tkAppInit.o] Error 1
Thanks
marc
Hi Marc,
to honor --with-tkinclude, a special rule in unix/Makefile.in was needed for the compilation of tkAppInit, which is in turn needed for building xowish, which is deprecated and only in the distro to keep our "old" users happy. The recommended loading of xotcl is to use:
package req XOTcl namespace import ::xotcl::*
This is for the tclsh and for wish the same.
My guess is that your interest was not in particular to compile xowish, but to check, whether everything compiles correctly on your system, and therefore you used --with-all in confiigure. Maybe we should overthink the setup of this rule in future versions.
anyhow, i have imply updated the xotcl-1.1.0 tar file on www.xotcl.org since this build change does not effect most users.
all the best -gustaf
PS: from today noon until monday evening, i'll be in germany in a meeting with no or bad internet access.
On Sunday 30 November 2003 02:42, Marc Spitzer wrote:
I have attached a log of my build, just incase I am missing something. The --with-tkinclude=/usr/local/include/tk8.4/generic from configure does not seem to be getting to the CC line as a -I directive:
cc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DVERSION="1.1" -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_UNISTD_H=1 -DCOMPILE_XOTCL_STUBS=1 -DTCL_SHLIB_EXT=".so" -I/usr/ports/lang/tcl84/work/tcl8.4.4/generic -I/usr/ports/lang/tcl84/work/tcl8.4.4/unix -I"./../generic" -I"./../unix" -I/usr/local/include/tcl8.4/generic -O -fPIC -g -DXOTCLVERSION="1.1" -DXOTCLPATCHLEVEL=".0" -c `echo ../unix/tkAppInit.c` -o o/tkAppInit.o ../unix/tkAppInit.c:19: tk.h: No such file or directory gmake: *** [o/tkAppInit.o] Error 1
Thanks
marc
On Sun, 30 Nov 2003 10:14:12 +0100 Gustaf Neumann neumann@wu-wien.ac.at wrote:
Hi Marc,
to honor --with-tkinclude, a special rule in unix/Makefile.in was needed for the compilation of tkAppInit, which is in turn needed for building xowish, which is deprecated and only in the distro to keep our "old" users happy. The recommended loading of xotcl is to use:
package req XOTcl namespace import ::xotcl::*
This is for the tclsh and for wish the same.
That solves my problem.
Thanks
marc
My guess is that your interest was not in particular to compile xowish, but to check, whether everything compiles correctly on your system, and therefore you used --with-all in confiigure. Maybe we should overthink the setup of this rule in future versions.
anyhow, i have imply updated the xotcl-1.1.0 tar file on www.xotcl.org since this build change does not effect most users.
all the best -gustaf
PS: from today noon until monday evening, i'll be in germany in a meeting with no or bad internet access.
On Sunday 30 November 2003 02:42, Marc Spitzer wrote:
I have attached a log of my build, just incase I am missing something. The --with-tkinclude=/usr/local/include/tk8.4/generic from configure does not seem to be getting to the CC line as a -I directive:
cc -DPACKAGE_NAME="" -DPACKAGE_TARNAME="" -DPACKAGE_VERSION="" -DPACKAGE_STRING="" -DPACKAGE_BUGREPORT="" -DVERSION="1.1" -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_UNISTD_H=1 -DCOMPILE_XOTCL_STUBS=1 -DTCL_SHLIB_EXT=".so"-I/usr/ports/lang/tcl84/work/tcl8.4.4/generi c-I/usr/ports/lang/tcl84/work/tcl8.4.4/unix -I"./../generic" -I"./../unix"-I/usr/local/include/tcl8.4/generic -O -fPIC -g -DXOTCLVERSION="1.1"-DXOTCLPATCHLEVEL=".0" -c `echo ../unix/tkAppInit.c` -o o/tkAppInit.o../unix/tkAppInit.c:19: tk.h: No such file or directory gmake: *** [o/tkAppInit.o] Error 1
Thanks
marc
-- Univ.Prof. Dr.Gustaf Neumann Abteilung für Wirtschaftsinformatik WU-Wien, Augasse 2-6, 1090 Wien _______________________________________________ Xotcl mailing list - Xotcl@alice.wu-wien.ac.at http://alice.wu-wien.ac.at/mailman/listinfo/xotcl
The --with-tclinclude did not work for --with-actiweb, before in my config line I had a typo(activeweb). Also when looking through /unix/tcl.m4 I noticed that you use TCL_SRC_DIR instead of TCL_INCLUDE_SPEC(both are defined in tclConfig.sh) for generating the configure script, near as I can tell TCL_INCLUDE_SPEC has all the private include files that xotcl needs. On my box TCL_INCLUDE_SPEC points to /usr/local/include/tcl8.4 and generic/ and unix/ are subdirectories of it.
Thanks again
marc