Forum OpenACS Q&A: Xotcl FreeBSD install problem

Collapse
Posted by Aernout Schmidt on
I am desperately trying to install Xotcl for use with OpenACS on a FreeBSD 6.0 machine. I get everything else (postgresql-7.4.9, aolserver-4.10, openacs-5.1.5, tcl-8.4.11, tDOM, daemontools, threads etc) installed and working. Xotlc resists consistently. Can anyone help?

This is part of my install script:

----------------------
cd /usr/local/src
tar xzf /usr/distfiles/xotcl-1.3.9.tar.gz

cd /usr/local/src/xotcl-1.3.9

./configure --enable-threads --enable-symbols --prefix=/usr/local/aolserver \
--with-tcl=/usr/local/lib/tcl8.4 --with-tclinclude=/usr/local/include/tcl8.4
make
make install-aol
----------------------

if I use make, I get persistenly the following error message from config:

----------------------
...
config.status: creating unix/pkgIndex.unix
"Makefile", line 61: Missing dependency operator
make: fatal errors encountered -- cannot continue

----------------------

if I use gmake (which sometimes helps on FreeBSD) I get through configure, but also a lot of compiler errors, I show the first part:

---------------------

config.status: creating unix/pkgIndex.unix
gcc -pipe -DPACKAGE_NAME=\"xotcl\" -DPACKAGE_TARNAME=\"xotcl\" -DPACKAGE_VERSION=\"1.3.9\" -DPACKAGE_STRING=\"xotcl\ 1.3.9\" -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 -DNO_VALUES_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DTCL_WIDE_INT_TYPE=long\ long -DUSE_TCL_STUBS=1 -DCOMPILE_XOTCL_STUBS=1 -DXOTCLVERSION=\"1.3\" -DXOTCLPATCHLEVEL=\".9\" -I/usr/local/include/tcl8.4 -I"/usr/ports/lang/tcl84-threads/work/tcl8.4.11/generic" -I"/usr/ports/lang/tcl84-threads/work/tcl8.4.11/unix" -I./generic -pthread -g -Wall -Wno-implicit-int -fPIC -c `echo ./generic/xotcl.c` -o xotcl.o
In file included from ./generic/xotcl.c:46:
./generic/xotclInt.h:15:20: tclInt.h: No such file or directory
In file included from ./generic/xotcl.c:46:
./generic/xotclInt.h:551: error: syntax error before "TclObjCmdProcType"
./generic/xotclInt.h:589: error: `MAX_NESTING_DEPTH' undeclared here (not in a function)
./generic/xotclInt.h:627: error: syntax error before "Proc"
./generic/xotclInt.h:631: error: syntax error before "Command"
In file included from ./generic/xotcl.c:47:
./generic/xotclAccessInt.h: In function `XOTclGetCDFromCmdPtr':
./generic/xotclAccessInt.h:45: error: `Command' undeclared (first use in this function)
./generic/xotclAccessInt.h:45: error: (Each undeclared identifier is reported only once
...
...

-------------------------

Collapse
Posted by Gustaf Neumann on
Dear Aernout,

you can safely delete line 61 from the makefile (or use gnu make). The next release of xotcl will have this line from the makefile dropped.

Concerning the missing tclInt.h file: xotcl needs tclInt.h for compilation. In some installations, tclInt.h is not installed globally. Most probably, you got already an error message during configure. you should run configure with --with-tcl or --with-tclinclude pointing to the place where the tcl include files are located.

Collapse
Posted by Aernout Schmidt on
Thanks Gustav

The following script works under FreeBSD 6.0 with tcl 8.4.11:

---
...
cd /usr/local/src
tar xzf /usr/distfiles/xotcl-1.3.9.tar.gz
cd /usr/local/src/xotcl-1.3.9
./configure --enable-threads --enable-symbols --prefix=/usr/local/aolserver \
--with-tcl=/usr/local/lib/tcl8.4 --with-tclinclude=/usr/local/include/tcl8.4/generic

gmake
gmake install-aol