[Xotcl] How to build XOTcl 1.6.8 so that it works with both Tcl 8.5 and 8.6?

Gustaf Neumann neumann at wu.ac.at
Tue Oct 14 21:32:39 CEST 2014


Dear Yusuke,

building XOTcl binaries with Tcl 8.5, that work with Tcl 8.6 is actually 
not quite simple,
since when XOTcl is compiled under Tcl 8.5 uses the Tcl function 
TclObjInterpProcCore(),
which was unfortunately removed from Tcl in 8.6. The commit entry, which 
deleted the
stub entry in Tcl 8.6 says:

     "Used to be needed for TclOO-extension; unneeded now that TclOO is 
in the core
     and NRE-enabled"

Therefore, when one loads the binary from Tcl 8.5 into Tcl 8.6, this 
symbol cannot be
resolved. See as well the discussion in [1].

However, to address this problem, i've added a new configure
option "--enable-forward-compat86", which allows to build binaries of XOTcl
with 8.5, that do not use TclObjInterpProcCore(), and can therefore be
loaded into Tcl 8.6 as well. You can get this version currently just 
from git

git clone git://alice.wu.ac.at/nsf
   cd nsf
git branch xotcl1 origin/xotcl1
   git checkout xotcl1

Use "--enable-forward-compat86" only in cases, where you need the forward
compatibility. One will get better performance under Tcl 8.5 or Tcl 8.6 
by compiling
exclusively for these versions.

best regards
-gustaf neumann

[1] https://next-scripting.org/list/1207.html



Am 14.10.14 07:05, schrieb Yusuke Yamasaki:
> Hello,
>
> Because the teapot repository has up to XOTcl 1.6.7 for Windows,
> I tried to build 1.6.8 for myself. The easiest way was to use Msys/MinGW.
>
> ./configure --enable-threads --prefix=/c/bin/tcl8.5.16 \
> --with-tcl=/c/src/tcl8.5.16/win --with-tk=/c/src/tk8.5.16/win \
> --with-actiweb=no --with-xotclsh=no --with-xowish=no \
> --without-expat --without-gdbm \
> --with-tclinclude=/c/bin/tcl8.5.16/include \
> --with-tkinclude=/c/bin/tcl8.5.16/include
> make
> make install
>
> However it only works with either 8.5 or 8.6 depending on the version
> which I specified by --with-tcl option. Though I don't have deep
> understanding of the stub mechanism, I know it is a key to make a
> generic version of a C extension. I think XOTcl has -DUSE_TCL_STUBS=1
> by default configuration according to config.log.
>
> Is there anything wrong with my build procedure?
>
> Windows 7 Professional SP1 64bit
> Tcl/Tk 8.5.16
> ---
> Yusuke Yamasaki <tm9233yy at gmail.com>
> _______________________________________________
> Xotcl mailing list
> Xotcl at alice.wu-wien.ac.at
> http://alice.wu-wien.ac.at/mailman/listinfo/xotcl


-- 
Univ.Prof. Dr. Gustaf Neumann
WU Vienna
Institute of Information Systems and New Media
Welthandelsplatz 1, A-1020 Vienna, Austria



More information about the Xotcl mailing list