Hello Gustaf,
It worked. Thank you! Currently I'm using Tcl 8.5. But the main purpose of upgrading XOTcl to 1.6.8 is to migrate to Tcl 8.6. So I think it's better to use the exclusive one for Tcl 8.6 when I leave Tcl 8.5 completely.
Regards, Yusuke --- Yusuke Yamasaki tm9233yy@gmail.com
2014-10-15 4:32 GMT+09:00 Gustaf Neumann neumann@wu.ac.at:
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@gmail.com _______________________________________________ Xotcl mailing list Xotcl@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