[The *Enlightenment Foundation Libraries (EFL)*](/about-efl.md) 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 support more recent Enlightenment applications. If this is not an issue for you, read through the ["From Distribution Repositories"](#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"](#Installing_from_a_Special_Repository).
We maintain such a repository. To add it to your pacman configuration just do one of these, depending which tool you have installed. Just remove `sudo` if you are already doing this as root.
#### curl
```bash
curl https://download.enlightenment.org/distros/arch/archlinux/arch/repo.txt -o - | sudo tee -a /etc/pacman.conf
```
#### wget
```bash
wget https://download.enlightenment.org/distros/arch/archlinux/arch/repo.txt -O - | sudo tee -a /etc/pacman.conf
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"](#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 usually of stable quality. To get started, read the section ["Installing from Git"](#Installing_from_Git).
Whichever installation method you use, visit ["Compiling EFL Applications"](#Compiling_EFL_Applications) to discover how to compile your Enlightenment applications.
## From Distribution Repositories ##
Arch contains an instance of the EFL package in its official repositories. To install, run the following command as root:
```bash
pacman -S efl
```
This will give you a working EFL installation.
The version in Arch's official repositories may lag behind the latest version of EFL. This may cause problems when trying to compile examples from tutorials in this guide. If this happens, install a more recent version of EFL using one of the methods listed below.
You can use Arch's package management system to install an up-to-date version of EFL from the *Arch User Repository (AUR)* named [efl-git](https://aur.archlinux.org/packages/efl-git). Using the *efl-git* AUR is relatively simple and makes your EFL package easy to maintain using Arch's package management system, *pacman*. There is also [enlightenment-git](https://aur.archlinux.org/packages/enlightenment-git), [rage-git](
This process will download EFL from the Enlightenment git repositories, run the configuration and download and install the remaining dependencies. It will also compile and install the software (locally) then build a viable and installable package for your system. None of these steps need to be run as root.
When *makepkg* is finished you'll find a file in your directory with a name like ``efl-git-X.XX.XX.XXXXX.XXXXXXXXX-X-XXXXXX.pkg.tar.xz``. This is the actual package you can install. To do this as root run:
There are two versions available from the Enlightenment website. One is the bleeding edge version which you can [download using git](#Installing_from_Git). The other is packaged and available from the [EFL download site](https://download.enlightenment.org/rel/libs/efl/), which is the focus of this section.
You also have to make some files visible to *pkgconfig*. To do this open ``/etc/profile`` in a text editor as root (using for example ``sudo nano /etc/profile``) and add the following line to the end:
You also have to make some files visible to *pkgconfig*. To do this open ``/etc/profile`` in a text editor as root (using for example ``sudo nano /etc/profile``) and add the following line to the end:
If you are having problems compiling and installing EFL you can find help on [our IRC channels](https://www.enlightenment.org/contact) or [post a ticket to our Gitea](https://git.enlightenment.org/enlightenment/efl/issues/new).