KasoVerb software GUI is built on the Fast Light Toolkit (FLTK) 1.3.x branch. Therefore, Building KasoVerb from source will be a multi-step process.
The first step will be to setup a development environment with the GNU toolchain, such as compilers, make and automake.
The second step will be to either obtain FLTK 1.3.x headers and libraries or obtain the source and build it. At this time, building FLTK from source is the recommended method.
The third step is to obtain the KasoVerb source and build it, statically linking against FLTK and any of it's dependencies.
KasoVerb does not yet contain any packaging or installation tools. The result of the build is a standalone binary capable of running on the host system. This document does not describe how to cross compile for other targets.
The GNU toolchain includes such things as compilers, make, and automake that are used to build FLTK, and thus KasoVerb.
There are many *nix based operating systems and distributions. To obtain the GNU toolchain, refer to the specific operating system documentation for the packages you will need to install.
For Windows Minimalist GNU for Windows (MinGW) provides an environment for building software based on the GNU toolchain. The resulting binaries can run natively on Windows without dependencies of additional runtime libraries.
Cygwin is also another environment that contains the GNU toolchain and emulates a *nix operating system. However, building under Cygwin will require runtime libraries to be present for the binary to run properly.
Also refer to official FLTK documention for specific capabilities and compiling for other architectures and operating systems.
KasoVerb typically uses the FLTK 1.3.x snapshot/development branch. It appears the 1.3.x development branch does not contain feature creep and primarily contains bug fixes. Using the 1.3.x branch also benifits FLTK team members by reporting bugs when changes break other software that use it.
There are a few methods for obtaining FLTK source pre:
For testing and development purposes, using svn is the easiest method to sync and keep up to date with the latest branch.
The following command is used to download the FLTK 1.3.x svn source pre repository:
cd ~; mkdir freesoftware; cd freesoftware && svn co http://svn.easysw.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3
FLTk official software/source download page can be found at http://fltk.org/software.php.
FLTK source tarballs can also be obtained through their FTP ( ftp://ftp.easysw.com/pub/fltk/) site
FLTK 1.3.x snapshot changes almost weekly. For the current branch you will need to go to their web page or ftp site and search for it.
After getting FLTK source, you will need to unpack it using a tool such as tar. However, before you unpack it you may want to create a development or temporary directory to store the free software.
cd ~; mkdir freesoftware; cd freesoftware && tar -zxvf ~/Downloads/fltk-1.3.0-source.tar.gz
Trusted operating system distributions and vendors supplying FLTK packages/tarballs. Use the packagement tool of your operating system to see if FLTK is available.
Once FLTK source has been obtained, the compilation process is straight forward:
cd ~; cd freesoftware && ./configure && make
To configure the system with custom options specific to your operating system distribution, you can run
Following, run configure again with those specific options
./configure --with-archflags=-arch x86_64
Before building KasoVerb, first download and build FLTK.
At the time of writing this document, KasoVerb has not adopted an official build or packaging policy. Currently, KasoVerb source has makefiles for GNU make and GNU C/C++ compilers. However, compatible compilers that can use the GNU C/C++ compiler flags should also work (source pre is ANSI C/C++ compliant). MinGW is recommended to build binaries for Windows.
The recommended method is to obtain the source through the Bazaar repository hosted on Savannah. Savannah has a write up https://savannah.nongnu.org/bzr/?group=kasoverb on how to use Bazaar to obtain the source repository.
To learn more about Bazzar visit Canonical's web site http://bazaar.canonical.com/en/.
KasoVerb has two branches: (1) alpha0, and (2) delta0. The alpha0 branch will eventually become deprecated in favor of the delta0 branch. However, at this time, it is the only working branch. Unless you plan on contributing to the project, delta0 is not recommended.
For testing and development purposes, using bzr is the easiest method to sync and keep up to date with the latest branch.
The following command is used to download the KasoVerb bzr source pre repository:
cd ~; mkdir -p freesoftware/kasoverb; cd freesoftware/kasoverb && bzr branch bzr://bzr.savannah.nongnu.org/kasoverb/alpha0
KasoVerb tarballs (and pre-built binaries) can be downloaded from Savannah http://download.savannah.gnu.org/releases/kasoverb/
For the current alpha0 branch you will need to go to the web page.
After getting KasoVerb source, you will need to unpack it using a tool such as tar. However, before you unpack it you may want to create a development or temporary directory to store the free software.
cd ~; mkdir -p freesoftware/kasoverb; cd freesoftware/kasoverb && tar -zxvf ~/Downloads/kasoverb_alpha0-03.15.2011.src.tar.gz
Windows compilation under MinGW does not work at this time without modifying gmakeit.sh
Once KasoVerb source has been obtained, source can be compiled as follows:
export FLTK=~/freesoftware/fltk-1.3; cd ~/freesoftware/kasoverb/alpha0/source && ./gmakeit.sh
Depending if your building from a bzr repository or tarball, the paths may be different. As seen above, a valid path to FLTK must be exported. The build script gmakeit.sh, uses FLTK makeinclude to extract the required libraries for linking.
With a little luck, everything will go accordingly and the resulting kvc binary will exist in
The database is located in
The following commands summarize how to download and build a current branch of KasoVerb and FLTK
mkdir -p ~/freesoftware/kasoverb cd ~/freesoftware svn co http://svn.easysw.com/public/fltk/fltk/branches/branch-1.3/ fltk-1.3 cd fltk-1.3 && make cd ~/freesoftware/kasoverb bzr branch bzr://bzr.savannah.nongnu.org/kasoverb/alpha0 cd alpha0/alpha0/source export FLTK=~/freesoftware/fltk-1.3 ./gmakeit.sh ./kvc/kvc_app/bin_binary/kvc # the database is located in ../database
To synchronize and rebuild issue the following commands
cd ~/freesoftware/fltk-1.3 svn update make cd ~/freesoftware/kasoverb/alpha0/alpha0/source && bzr update ./gmakeit.sh