Building Coccinella Dependencies

These are build instructions for a typical unix/linux system which is not MacOSX since you need some special configure switches in that case.

I currently have a kind of ad-hoc rule to keep packages which should be binary compatible in a common directory, but this method may prove wrong, so please give me a note in that case. The following code should be easy to understand for anyone if you also have a look at the possible values of the tcl_platform array:

    if {$this(platform) eq "unix"} {
	set machine $tcl_platform(machine)
	if {[regexp {[2-9]86} $tcl_platform(machine)]} {
	    set machine "i686"
	} elseif {$tcl_platform(machine) eq "x86_64"} {
	    # x86_64
set machine "i686" } set machineSpecPath [file join $tcl_platform(os) $machine]

You can look into the coccinella/bin/ directory tree for a few examples.

  • Mandatory Packages

    1. Tcl/Tk

      First of all you need Tcl/Tk 8.5 if you do not already have it. Typically you do not get it from cvs HEAD since that usually points to an experimental version. Instead download it from Tcl Developer Xchange and follow the README.

      Some notes on the directory layout. Place all sources dirs in a common directory like:

          tcl/
          tk/
          tkpng/
          tktreectrl/
          ...
    2. TkTreeCtrl

      cvs -d:pserver:anonymous@tktreectrl.cvs.sourceforge.net:/cvsroot/tktreectrl login
      cvs -z3 -d:pserver:anonymous@tktreectrl.cvs.sourceforge.net:/cvsroot/tktreectrl co -P tktreectrl
      
      ./configure
      make
      make install

      The last step is not necessary but makes it easier to identify which components, *.so, pkgIndex.tcl, other .tcl support files, are needed.

    3. TkPNG

      cvs -d:pserver:anonymous@tkpng.cvs.sourceforge.net:/cvsroot/tkpng login 
      cvs -z3 -d:pserver:anonymous@tkpng.cvs.sourceforge.net:/cvsroot/tkpng co -P tkpng
      
      ./configure
      make
      make install
  • Optional Packages

    1. tls

      Useful to obtain safer connections using TLS is the tls package.

      cvs -d:pserver:anonymous@tls.cvs.sourceforge.net:/cvsroot/tls login 
      cvs -z3 -d:pserver:anonymous@tls.cvs.sourceforge.net:/cvsroot/tls co -P tls
      
      ./configure
      make
      make install

      Depending on how your SSL installation looks like you may need to specify certain configure flags which points to the wanted SSL system. I have noted that some linux users aren't able to load the standard i686 build, but have no idea why. You may find prebuilt binaries for your system here.

    2. iaxclient

      The voip system is using the iaxclient which you can grab at:

      svn co https://iaxclient.svn.sourceforge.net/svnroot/iaxclient/trunk iaxclient

      It depends on portaudio and speex and you may consult the README or mailing lists which versions match since there have been some incompatible changes. Build and install all three, first speex and portaudio, then iaxclient. That done you need to build my tcl package, you can find instructions here.

    3. Tcl UDP extension

      Iaxclient typically needs the Tcl UDP extension to penetrate NATs amongst others.

      cvs -d:pserver:anonymous@tcludp.cvs.sourceforge.net:/cvsroot/tcludp login 
      cvs -z3 -d:pserver:anonymous@tcludp.cvs.sourceforge.net:/cvsroot/tcludp co -P tcludp
      
      ./configure
      make
      make install
    4. Tk Img extension

      Support for additional image formats in whiteboards. TODO