Hello Gustaf,
I have switched the TCL repository from SourceForge to Fossil, got the latest sources, compiled and installed TCL. The problem now is that NX will not compile against it. Make fails with this error:
######################################################################################## gcc -DPACKAGE_NAME="nsf" -DPACKAGE_TARNAME="nsf" -DPACKAGE_VERSION="2.0.0" -DPACKAGE_STRING="nsf\ 2.0.0" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -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 -DHAVE_SYS_PARAM_H=1 -DHAVE_TCL_COMPILE_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__((__visibility__("hidden"))) -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION="2.0" -DNSF_PATCHLEVEL="2.0.0" -I"/root/tcl-src-fossil/generic" -I"/root/tcl-src-fossil/unix" -I./generic -g -O2 -pipe -O2 -fomit-frame-pointer -Wall -fPIC -c `echo ./generic/nsf.c` -o nsf.o ./generic/nsf.c: In function ‘MethodDispatchCsc’: ./generic/nsf.c:7797: error: ‘TEOV_callback’ undeclared (first use in this function) ./generic/nsf.c:7797: error: (Each undeclared identifier is reported only once ./generic/nsf.c:7797: error: for each function it appears in.) ./generic/nsf.c:7797: error: ‘rootPtr’ undeclared (first use in this function) ./generic/nsf.c: In function ‘DispatchDestroyMethod’: ./generic/nsf.c:8503: warning: too many arguments for format make: *** [nsf.o] Error 1 ###################################################################################
If I uncomment "#define NRE_SANE_PATCH 1", as I had to do every time I compiled NX, the error is even longer, I will just give the first few lines:
###################################################################################
gcc -DPACKAGE_NAME="nsf" -DPACKAGE_TARNAME="nsf" -DPACKAGE_VERSION="2.0.0" -DPACKAGE_STRING="nsf\ 2.0.0" -DPACKAGE_BUGREPORT="" -DPACKAGE_URL="" -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 -DHAVE_SYS_PARAM_H=1 -DHAVE_TCL_COMPILE_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -DMODULE_SCOPE=extern\ __attribute__((__visibility__("hidden"))) -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DUSE_TCL_STUBS=1 -DCOMPILE_NSF_STUBS=1 -DNSF_VERSION="2.0" -DNSF_PATCHLEVEL="2.0.0" -I"/root/tcl-src-fossil/generic" -I"/root/tcl-src-fossil/unix" -I./generic -g -O2 -pipe -O2 -fomit-frame-pointer -Wall -fPIC -c `echo ./generic/nsf.c` -o nsf.o In file included from ./generic/nsf.c:45: ./generic/nsfInt.h:725: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘NRE_SANE_PATCH’ ./generic/nsfInt.h:792: warning: data definition has no type or storage class ./generic/nsfInt.h:792: warning: type defaults to ‘int’ in declaration of ‘NsfRuntimeState’ ./generic/nsf.c: In function ‘NsfLog’: ./generic/nsf.c:362: error: expected expression before ‘)’ token In file included from ./generic/nsf.c:629: ./generic/nsfStack.c: In function ‘CscListAdd’: ./generic/nsfStack.c:21: error: expected expression before ‘)’ token ./generic/nsfStack.c: In function ‘CscListRemove’: ./generic/nsfStack.c:42: error: expected expression before ‘)’ token ./generic/nsfStack.c: In function ‘Nsf_PushFrameObj’: ./generic/nsfStack.c:144: error: expected expression before ‘)’ token ./generic/nsfStack.c: In function ‘Nsf_PushFrameCsc’: ./generic/nsfStack.c:187: error: expected expression before ‘)’ token ./generic/nsfStack.c: In function ‘CallStackPopAll’: ########################################################################################
I am on Debian based Linux, 32bit.
Thanks,
Victor