Version 0 of Godzilla Guides to tclquadcode

Updated 2018-01-31 17:07:46 by Clif_Flynt

This is a set of how-to notes for using the new Tcl Quad Code. Your mileage may (WILL!) vary depending on which platform you are setting up, but this shows some of the pitfalls and workarounds you may run into.

Setup for Ubuntu 16.04

 These are the steps to install and test the new quadcode on fresh install of Ubuntu 16.04
  • Install X11 dev libraries to compile Tk
  • The X includes may not be installed by default on your system.
 apt-get install libx11-dev
  • Update system -
 sudo apt-get updatee
 sudo apt-get upgrade
  • Install llvm requirements: clang for sure, lldb maybe
 apt-add-repository "deb llvm-toolchain-xenial-5.0 m$
 apt-get update
 apt-get install -y clang-5.0
 apt-get install -y lldb-5.0
 unzip ~/Downloads/
  • Download 1.18 Tcllib from:$
  • Put in safe place
 tar -xvzof tcllib-1.18.tar.gz
 cd tcllib-1.18
 sudo make install
 fossil clone tcl.fos
 fossil clone tk.fos
 fossil clone quadcode.fos
  • Make tcl, tk and llvmtcl
 mkdir tcl tk
 cd tcl
  • Do not take the tip - It may have issues
 fossil open ../tcl.fos core-8-6-8
 cd unix
 ./configure; make
 sudo make install

 cd ../../tk
 fossil open ../tk.fos core-8-6-8
 cd unix
 ./configure; make
 sudo make install

 cd ../../llvmtcl-master
  • This failed, there is No llvm_config command
  • That's because the llvm 5.0 distro calls it llvm-config-5.0
 cd /usr/bin
 sudo ln llvm-config-5.0 llvm-config
 cd -
 sudo make install
  • Note - if you get errors like these, you are using a
  • 9.x version of Tcl that as of Jan 2018 is not supported.
 version conflict for package "Tcl": have 9.0a0, need 8.5
    while executing
 "package require Tcl 8.5"
 version conflict for package "Tcl": have 9.0a0, need 8.2
    while executing
 "package require Tcl 8.2"
    (file "./installer.tcl" line 10)
  • Make a folder for quadcode. I'm using a datestamped folder
  • to keep evolutionary steps separate
 mkdir quad-201801
 cd quad-201801/
 fossil open ../quadcode.fos
 tclsh8.6 demos/smalltest.tcl
  • This should "just work", and you'll see about a factor of 10
  • improvement in run time.