View · Search · Index
No registered users in community xowiki
in last 10 minutes

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

From: Gustaf Neumann <neumann_at_wu.ac.at>
Date: Tue, 14 Oct 2014 21:32:39 +0200

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