Hi,
I get an error when compiling on Linux (debian potato):
make[1]: Entering directory `/usr/local/packages/xotcl-full-0.9.4/xotcl-0.9.4/unix' cc -DUSE_TCL_STUBS -DVERSION="0.9" -DXOTCL_LIBRARY="/usr/local/lib/xotcl0.9/library" -I/usr/local/include/tcl8.2/generic -I/usr/local/include/tcl8.2/unix -I"./../generic" -I"./../unix" -I"/usr/local/include" -g -O2 -D__NO_STRING_INLINES -D__NO_MATH_INLINES -fPIC -g -DXOLIBPKG="/usr/local/lib/xotcl0.9" -DXOTCLVERSION="0.9" -DXOTCLPATCHLEVEL=".4" -c `echo ../generic/xotcl.c` -o so/xotcl.o ../generic/xotcl.c: In function `TclCommands': ../generic/xotcl.c:9271: syntax error before `initMutex' ../generic/xotcl.c:9275: `initMutex' undeclared (first use in this function) ../generic/xotcl.c:9275: (Each undeclared identifier is reported only once ../generic/xotcl.c:9275: for each function it appears in.) ../generic/xotcl.c:9278: `rc' undeclared (first use in this function) make[1]: *** [so/xotcl.o] Error 1 make[1]: Leaving directory `/usr/local/packages/xotcl-full-0.9.4/xotcl-0.9.4/unix' make: *** [libs] Error 1
Thanks in advance for any help,
On Saturday 06 July 2002 10:22, Catherine Letondal wrote:
Hi,
I get an error when compiling on Linux (debian potato):
make[1]: Entering directory `/usr/local/packages/xotcl-full-0.9.4/xotcl-0.9.4/unix' cc -DUSE_TCL_STUBS -DVERSION="0.9" -DXOTCL_LIBRARY="/usr/local/lib/xotcl0.9/library" -I/usr/local/include/tcl8.2/generic -I/usr/local/include/tcl8.2/unix -I"./../generic" -I"./../unix" -I"/usr/local/include" -g -O2 -D__NO_STRING_INLINES -D__NO_MATH_INLINES -fPIC -g -DXOLIBPKG="/usr/local/lib/xotcl0.9" -DXOTCLVERSION="0.9" -DXOTCLPATCHLEVEL=".4" -c `echo ../generic/xotcl.c` -o so/xotcl.o ../generic/xotcl.c: In function `TclCommands': ../generic/xotcl.c:9271: syntax error before `initMutex' ../generic/xotcl.c:9275: `initMutex' undeclared (first use in this function) ../generic/xotcl.c:9275: (Each undeclared identifier is reported only once ../generic/xotcl.c:9275: for each function it appears in.) ../generic/xotcl.c:9278: `rc' undeclared (first use in this function) make[1]: *** [so/xotcl.o] Error 1 make[1]: Leaving directory `/usr/local/packages/xotcl-full-0.9.4/xotcl-0.9.4/unix' make: *** [libs] Error 1
Thanks in advance for any help,
Dear Catherine,
please change in xotclnt.h the section defining XOTclMutex to the following.
#if !defined(PRE83) && defined(TCL_THREADS) # define XOTclMutex Tcl_Mutex # define XOTclMutexLock(a) Tcl_MutexLock(a) # define XOTclMutexUnlock(a) Tcl_MutexUnlock(a) #else # define XOTclMutex int # define XOTclMutexLock(a) (*(a))++ # define XOTclMutexUnlock(a) (*(a))-- #endif
this should help. -gustaf PS: how comes that debian still uses Tcl 8.2?
Hi,
I have successfully installed xotcl 0.9 from the source distribution (xotcl-full-0.9.4) and the xotclsh et xowish executables work fine. However, when I try to use the libxotcl0.9.so library, I encounter strange problems:
LD_LIBRARY_PATH=/usr/local/lib ./mywish % Object x invalid command name "Object" %
although xotcl seems to be loaded: % set xotcl::version 0.9 %
mywish has been compiled the following way: gcc -o mywish tkAppInit.o -L/usr/local/lib -lxotcl0.9 -lX11 -lm
(I have removed other librairies for BLT, Tktable, itcl, etc.. extensions I'm using) The compilation issued no errors. The makefile for building mywish has worked for several months and I had no problem with it.
So, I don't know what to do. Do you have any suggestions? Thanks again in advance,
-- Catherine Letondal -- Pasteur Institute Computing Center
On Saturday 20 July 2002 11:11, Catherine Letondal wrote:
Hi,
So, I don't know what to do. Do you have any suggestions? Thanks again in advance,
Seems, you like saturdays :) I'd double-check
% info commands xotcl::*
If it returns xotcl::Object (among others) then you'd need to:
% namespace import xotcl::*
Cheers Zoran
Zoran Vasiljevic wrote:
On Saturday 20 July 2002 11:11, Catherine Letondal wrote:
Hi,
So, I don't know what to do. Do you have any suggestions? Thanks again in advance,
Seems, you like saturdays :)
my laptop does :-)
I'd double-check
% info commands xotcl::*
If it returns xotcl::Object (among others) then you'd need to:
% namespace import xotcl::*
It worked. I just wonder why is that necessary with the shared library - it is not under xotclsh or xowish? I also tried under another Xotxl 0.9 shared library installation... and it worked.
Thanks anyway!
-- Catherine Letondal -- Pasteur Institute Computing Center
On Saturday 20 July 2002 14:38, Catherine Letondal wrote:
It worked. I just wonder why is that necessary with the shared library - it is not under xotclsh or xowish? I also tried under another Xotxl 0.9 shared library installation... and it worked.
The xotclsh/xowish already do this import per-se. The extension library is a good citizen in the Tcl world (well, starting from 0.9.4) and it uses it's own namespace in order to avoid name collisions and stuff. This is good so, but it triggers some misunderstandings when updating from the earlier version.
Cheers Zoran