build the latest owncloud-client git in ubuntu 12.04

2012-05-28

I have the need to use a not-yet released version of ownCloud-client in my Ubuntu 12.04 Precise Pangolin. The official build instructions are perhaps too generic and confusing for non-expert users. Additionally, there are several non-explained dependencies that must be installed, some of them unique to Ubuntu (maybe even to Debian). I wrote this tutorial that explains what to do in order to obtain latest, cutting-edge source code of csync and mirall (ownCloud-client) and install it.

Before we start, let me note that I wrote this post several days after I built the required software. There may be some omissions in the dependencies retrieiving. If any, either contact me or write a comment on this post and we will fix it.

First, install the dependencies already offered by the Ubuntu repositories:

sudo apt-get install git cmake build-essential libsqlite3-dev liblog4c-dev libsmbclient libsmbclient-dev libneon27-gnutls-dev libneon27-gnutls libyaml-perl libxml-libxml-perl libssl-dev libtie-ixhash-perl qtcreator

Then, install libiniparser and libiniparser-dev from ownCloud repository. Download libiniparser_3.xx_i386.deb and libiniparser-dev_3.xx_i386.deb from the i386 repository or from the x64 (amd64) repository.

Install them using the Software Center or with the command line:

sudo dpkg -i libiniparser*.deb

Create a source directory, clone csync project and use ownCloud’s dedicated branch

mkdir -p ~/src && cd ~/src
git clone git://git.csync.org/users/freitag/csync.git
cd csync/
git checkout -b dav origin/dav

Prepare the build directory for csync and build it

cd ~/src
mkdir -p buildcsync && cd buildcsync
cmake -DCMAKE_BUILD_TYPE="Debug" ../csync
make

Clone and install krazy2 tool (a requirement for mirall).

cd ~/src
git clone git://gitorious.org/krazy/krazy.git
cd krazy
sudo ./install.sh 

Checkout the mirall project, create a build dir. Add Krazy2 in $PATH, otherwise the build fails. Compile mirall

cd ~/src
git clone git://gitorious.org/owncloud/mirall.git
mkdir -p buildmirall && cd buildmirall
export PATH=/usr/local/Krazy2/bin:$PATH
cmake -DCMAKE_BUILD_TYPE="Debug" ../mirall
# Little fix for (probably) a typo in Mirall source code
# 2012-08-21 - This step is probably no more necessary
ln -s ~/src/buildcsync/modules/csync_owncloud.so ~/src/buildcsync/modules/csync_ownclouds.so
make

The development tests automatically run with the

make

command and some may fail. Eventually, the executable still builds and appears in

~/src/buildmirall/bin/owncloud

.

Remember that this is unreleased software. It may contain lots of bugs, some of them still undiscovered. It is a good idea to report issues to the developers. Remember to be polite and respect their work, because they do that for free and on their free time.

If you want to update your source files with the latest commits in the repositories, just cd to the repository directories (~src/mirall, ~src/csync, and ~src/krazy) and input the

git pull

command. You have to build the programs again if changes in the code happen.


I do not use a commenting system anymore, but I would be glad to read your comments and feedback. Feel free to contact me.