Installing Wt on Ubuntu

For installation of Wt on Ubuntu, you have the choice between the official package available in Ubuntu, prebuilt packages by Pau Garcia i Quiles (always updated to the newest Wt version) or installation from source.

Installing from the Official Package

Since Ubuntu Intrepid (8.10), official packages for Ubuntu are available, see

To install all of it, do:

 $ sudo aptitude install libwt*

The official package is usually a bit outdated due to the stabilization periods Debian and Ubuntu need prior to release. If you want to use the newest version of Wt and not build from source, read on.

Installing from Prebuilt Packages

Since Wt 2.0.3, unofficial packages for Ubuntu are being built by Pau Garcia i Quiles. To install Wt, add the Wt PPA to your repositories (check "Adding this PPA to your system" in the Wt PPA page). After adding the repository to your system, run:

 $ sudo apt-get update
 $ sudo aptitude install libwt*

This will automatically install all the required dependencies. If you only want the runtime library, you only need to install the libwt24, libwthttp24, libwtext24, etc packages (no -dev, -doc or -dbg packages). The libwt-dbg package contains the debug versions of the libraries.

These packages are built by the maintainer of the official Debian and Ubuntu packages and are always updated to the latest version of Wt. If you want to use the newest version of Wt and not build from source, this is the preferred method.

Please note in the past packages were named witty, witty-dev, witty-doc and witty-dbg. These package still exist but only as transitional packages and will be removed in the future. It is recommended that you install libwt*.

Installing from Sources

Installing System Dependencies

Minimal dependencies:

sudo apt-get install gcc g++ libboost-all-dev cmake make

Optional dependencies (this list changes sometimes):

# general features
sudo apt-get install libssl-dev libfcgi-dev
# more database backends
sudo apt-get install libpq-dev libmysqlclient-dev firebird-dev
# graphics, pdf, font, server-side OpenGL, ...
sudo apt-get install libpng12-dev libgraphicsmagick1-dev libhpdf-dev libpng12-dev libpango1.0-dev mesa-common-dev
# used by some examples
sudo apt-get install asciidoc libqt4-dev
# for building documentation
sudo apt-get install doxygen graphviz

If an optional dependency is not found, you can still compile and use Wt. Some features may not be available in that Wt (e.g. no pdf rendering, or no server-side 2D image rendering, ...)

Get Wt

Go to or download using wget:

 wget -c
 tar xvxf wt-x.y.z.tar.gz

Build Wt from sources

See also

cd wt-x.y.z
mkdir build
cd build
# cmake options:
# if cmake complains about not finding boost_random, add -DWT_NO_BOOST_RANDOM=ON
# if you installed graphicsmagick, add -DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick
cmake .. 
make -C examples

To install wt in /usr/local:
 sudo make install
 sudo ldconfig

Try the Examples

From the Prebuilt Packages

  • To build the examples, call CMake this way:
  cmake -DWT_SOURCE_DIR=/usr/share/doc/witty-doc/ -DEXAMPLES_CONNECTOR="wt;wthttp" /usr/share/doc/witty-doc/examples
  • Then go to /usr/share/doc/witty-doc/examples and enter the directory of the example you want to run.
  • When running the example, set the docroot to "."
  • For instance, if you compiled the examples in /home/user/dev/wtexamples, you would do:
  $ mkdir /home/user/dev/wtexamples
  $ cd /home/user/dev/wtexamples
  $ cmake -DWT_SOURCE_DIR=/usr/share/doc/witty-doc/ -DEXAMPLES_CONNECTOR="wt;wthttp" /usr/share/doc/witty-doc/examples
  $ make
  $ cd /usr/share/doc/witty-doc/examples/charts
  $ /home/user/dev/wtexamples/charts/charts.wt --http-port 10000 --http-addr --docroot .

From the Sources

  • If you installed Wt using the source packages (, then you can find instructions on how to run the examples in the file INSTALL.html that is included in the main directory of the respective source package.

The README file in an example's directory may contain important information regarding the example. If you followed the instructions above, an example is typically started like this:

cd build/examples/webgl
make # compile one example separately, only need to do this once
cd ../../../examples/webgl
ln -s ../../resources .
../../build/examples/webgl/webgl.wt --docroot . --http-address --http-port 8080

If the example has a docroot directory, replace --docroot . by --docroot docroot and put the link to the resources directory in the docroot directory:

cd docroot
ln -s ../../../resources .
cd ..

If the example has an approot directory, add the startup parameter --approot approot

Special Cases

  • Please note the widget gallery example will not run properly unless you download tinymce and extract it the proper place.
  • Please note the wtwithqt example needs Qt 4.x to run

Using 'ccmake' to Edit Build Options
This is an easy, graphical way to edit the build options

 cd build
 ccmake .