Sunday, March 30, 2008

Building the base for developing with EFL

This post describes how to build e17 libraries and the python bindings, getting the base for developing on EFL :).

In this first moment, sit back and relax, it might take a while to download the needed packages:


sudo aptitude install build-essential cvs libtool libltdl3-dev automake1.9 autotools-dev libpopt-dev libcurl3-dev libx11-dev x11proto-xext-dev libbz2-dev libid3tag0-dev libpng12-dev libtiff4-dev libungif4-dev libjpeg62-dev libssl-dev libfreetype6-dev bison flex gettext libimlib2-dev libxml2-dev libxcursor-dev libgtk1.2-dev autoconf pkg-config libxine-dev sqlite3 libsqlite3-dev libtagc0-dev libtag1-dev giblib-dev libxcomposite-dev xorg-dev fort77 python2.5-dev libedbus0-dev python-pyrex




After that, you can run the easy_e17.sh script. It will checkout from CVS and compile the libraries. Before running, set it +x with chmod (chmod +x easy_e17.sh).


The alternative building method is to manually checkout and compile the modules. Instead of the script, I chose this alternative, because when the script stops in one library, you'll have to run it again, and I guess it starts from the beginning again (or not!). By going manual, you can see what dependency is missing and install it.

If you prefer to go manual, start by checking out from the CVS (this step should take a while):


cvs -z3 -d :pserver:anonymous@anoncvs.enlightenment.org:/var/cvs/e co e17




After that, cd to the e17/libs dir and compile (the libraries in this order:


imlib, eet, evas, ecore, epeg, embryo, edje, epsilon, esmart, efreet, ewl, emotion, edb, etk




With the following commands (replace libfolder :)):


cd libfolder
./autogen.sh
make
sudo make install




After you compiled all these libraries, cd to e17/proto and compile the apps you want to use. I myself installed edje_editor, edje_cc and python-efl. I compiled these apps. with the commands above (for installing the libraries). If you want to compile the python-efl bindings, first install Cython (Download):


tar -zxvf Cython-0.9.6.12.tar.gz
cd Cython-0.9.6.12/
python setup.py install



Then you should cd to the directory and run the install script:


cd e17/proto/python-efl
sudo ./build-all.sh /usr




Test it by importing "evas" or "ecore" on the python command line :).

If you missed any library install earlier, it will be accused here clearly, so, you go back and install it the same way you installed the others. If you've got problem with dependencies, try googleing it with your distribution name appended (e.g. "ltdl.h + Ubuntu"). By doing that, you may find the package with includes the dependency (or the package-dependency itself) and you can install it via apt-get or aptitude.

If you googled it, asked on #e (freenode.org), prayed, cursed god and done every step here, but you can't still get something compiled, you can leave a comment ;-)


Good luck! (you'll probably need it :))

No comments: