Installing EFL on openSUSE

The Enlightenment Foundation Libraries (EFL) power millions of systems from mobile phones to set-top boxes, desktops, laptops, game systems and more. You'll need EFL if you want to develop apps for Enlightenment and for any of the devices that use Enlightenment for its visual interface.

This tutorial describes several ways to install EFL on your system. You will only need to use one of these. Select your chosen method using the index on the right.

Many distributions offer EFL as an installable package from their default repositories. In this case you only need to use your distribution's software management system to install. However most versions of EFL in default repositories are out of date and will not compile more recent Enlightenment applications. If this is not an issue for you, read through the "From Distribution Repositories" section below.

Distributions often provide a special repository maintained by users or a method of integrating a bleeding edge version of EFL with your software management system. This means that once installed you can keep EFL current just by running system updates. If your distribution offers this, take a look at the section "Installing from a Special Repository".

The Enlightenment developers provide a pre-packaged source of EFL. Although not bleeding edge it is up to date and considered stable for production environments. You can download, compile and install it yourself by following the instructions in "Installing from Packaged Source".

You can also download the source code for the most recent version from the EFL git repositories. This will provide you with the latest code, which is updated on a nightly basis. To get started, read the section "Installing from Git".

Whichever installation method you use, visit "Compiling EFL Applications" to discover how to compile your Enlightenment applications.

From Distribution Repositories

openSUSE happens to have quite a good support for EFL and you can install all the items you need from openSUSE's official repository:

sudo zypper efl

This will give you a working EFL installation.

However, the version in openSUSE's official repositories may lag behind the latest version of EFL and give you problems when trying to compile examples from tutorials in this documentation. If this is the case, it is advised you install a more recent version of EFL following one of the methods below.

Installing from a Special Repository

You can also install the latest EFL using a special repository. Add it to your regular repositories with:

sudo zypper ar https://download.opensuse.org/repositories/X11:/Enlightenment:/Nightly/openSUSE_Tumbleweed/x86_64/ Enlightenment_Nightly

Refresh your repositories:

sudo zypper ref

And then install EFL and its development libraries:

sudo zypper in efl efl-devel

Note that the version in the Nightly repositories may lag behind the official Nightly by about 24 hours. This shouldn't be a big deal in most circumstances.

Installing from Packaged Source

There are two versions available form the Enlightenment website. One is a packaged and available from the EFL's download site. The other is the nightly bleeding edge version which you can download using git. This section deals with installing with the packaged version available from the EFL's download site.

Step 1: Downloading Stable Version

Download the latest version of EFL and check it against its SHA256 hash:

wget https://download.enlightenment.org/rel/libs/efl/efl-X.XX.X.tar.xz
wget https://download.enlightenment.org/rel/libs/efl/efl-X.XX.X.tar.xz.sha256
cat efl-X.XX.X.tar.xz.sha256; sha256sum efl-X.XX.X.tar.xz

Note that you will have to change X.XX.X for the actual version of EFL.

Step 2: Unpacking

Once you have the archive file containing EFL in your hard disk, unpack it with:

tar xvf efl-X.XX.X.tar.xz

This will produce a folder called efl-X.XX.X.

Step 3: Installing Dependencies

Before you can compile and install EFL, you will have to install some software packages EFL needs:

sudo zypper in gcc gcc-c++ doxygen libopenssl-devel systemd-devel libjpeg62-devel glib2-devel gstreamer-devel lua51-luajit-devel freetype2-devel fontconfig-devel fribidi-devel xorg-x11-devel giflib-devel libpng16-compat-devel libtiff-devel libpoppler-devel libspectre-devel libraw-devel librsvg-devel libudev-devel libmount-devel dbus-1-devel libpulse-devel libsndfile-devel libbullet-devel gstreamer-plugins-base-devel check-devel

Step 4: Building and Installing

Once you have installed all the packages EFL needs, cd into the efl-X.XX.X folder and run

./configure
make
sudo make install

This will configure the files needed for compiling, actually compile the software, and then install it.

Step 5: Carrying out Post Installation Tasks

As you are not installing to /usr but to /usr/local, you will have to ensure that some files are visible to dbus:

sudo ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service

You may also need to refresh your library path to make sure your apps can find the EFL libraries:

sudo ldconfig

Installing from Git

You can also get the bleeding edge version of EFL by cloning it from the git repository.

Step 1: Installing git and Cloning

By default, git is not installed in openSUSE, so the first step is to install it:

sudo zypper install git

Next clone EFL's source code:

git clone https://git.enlightenment.org/core/efl.git

This will create a a directory called efl/.

Step 2: Installing Dependencies

You will need to install some tools to build the configuration file:

sudo zypper in autoconf libtool gettext-tools

As well as the dependencies specific for EFL:

sudo zypper in gcc gcc-c++ doxygen libopenssl-devel systemd-devel libjpeg62-devel glib2-devel gstreamer-devel lua51-luajit-devel freetype2-devel fontconfig-devel fribidi-devel xorg-x11-devel giflib-devel libpng16-compat-devel libtiff-devel libpoppler-devel libspectre-devel libraw-devel librsvg-devel libudev-devel libmount-devel dbus-1-devel libpulse-devel libsndfile-devel libbullet-devel gstreamer-plugins-base-devel check-devel

Step 3: Configuring the Software

Now you can cd into the efl* directory and run the *autoreconf script to create and configure the software ready for compilation:

./autogen.sh

Once configured, you can compile the software with:

make
sudo make install

Step 4: Carrying out Post Installation Tasks

As you are not installing to /usr but to /usr/local, you will have to ensure that some files are visible to dbus:

sudo ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service

You may also need to refresh your library path to make sure your apps can find the EFL libraries:

sudo ldconfig

Troubleshooting

If you are having problems compiling and installing EFL, you can come and seek advice on any of our IRC channels or post a ticket to our Phabricator.

Installing on Other Operating Systems

If you would like to install EFL on a different operating system visit the Installing EFL page.