Re: [Xotcl] How to build XOTcl 1.6.8 so that it works with both Tcl 8.5 and 8.6?
Created by hypermail2xowiki importer, last modified by Stefan Sobernig 02 Jan 2017, at 11:15 PM
Date: Wed, 15 Oct 2014 19:13:25 +0900
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_at_gmail.com> 2014-10-15 4:32 GMT+09:00 Gustaf Neumann <neumann_at_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_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