Zero-Knowledge Systems > Media > Media Coverage
Zero-Knowledge

Home Page Company Personal Privacy Business Services Partners Media Jobs
Zero-Knowledge
Opensource
Linux Client

How to build the client

  • Environment Variables

    There are a number of environment variables that can affect how the Freedom client is built, but only five are of any real importance. The first three (ZK_ROOT, FREEDOM_HOME, ZK_PROJECT) are required for building.

    • ZK_ROOT - The top level of the source tree. The directory that contains, among other things, the arch, bin, and freedom directories.
    • FREEDOM_HOME - The directory that contains the pixmaps/ and xml/ directories. This should be set to $ZK_ROOT/freedom/client/zkui/freedomclient/linux
    • ZK_PROJECT - Should always be set to `Client'. It is case-sensitive.
    • ZK_CONFIG - What kind of build to do. Defaults to 'Release', can also be 'Debug'. This variable is case-sensitive.
    • ZK_NOSILENT - When true, display the full compile/link lines instead of hiding them.

  • Local Modifications / Build Environment

    If you are building on a Red Hat 6.2 or Mandrake 7.1 machine that isn't using the distribution's patched kernel, you'll need to modify the #if in line 431 of freedom/client/zkshim/linux/clientshim/src/zkshim_drv.c so that the two-argument version of that function is called.

    The Linux client requires a fairly modern version of gcc which contains all of the recent standard library enhancements. For your convenience, an RPM is provided that is known to work with Freedom. If you choose to use this RPM, please note that it installs into /usr/local, and that you'll need to change your path. Get the RPM

    Freedom is built upon Gnome's development platform and thus requires a reasonably modern Gnome installation, including libglade. If your distribution does not include Gnome, or it is sufficiently outdated, Helix Code provides a binary distribution of Gnome which they support on a number of Unix platforms.

    Finally, because many Gnome distributions don't yet ship gdk_pixbuf (and because we didn't want to distribute it separately), we statically link gdk_pixbuf with Freedom. In order for this to work, however, you'll need a gdk_pixbuf that is compiled with --disable-modules. An RPM compiled with --disable-modules is provided for your convenience.

  • Build

    1. cd $ZK_ROOT
    2. make -f makefiles/Makefile.top libs exes

    Before you run Freedom for the first time, you'll need to create the /dev/clientshim device with the following commands (as root):

    • mknod /dev/clientshim c 10 194
    • chmod 666 /dev/clientshim


Opensource Home
Freedom Client
Freedom Server
ZKShim
Yarrow

home map privacy policy legal contact us

Copyright