summaryrefslogtreecommitdiff
path: root/pages/develop/setup/c/ubuntu.md.txt
diff options
context:
space:
mode:
authorGareth Halfacree <freelance@halfacree.co.uk>2018-01-02 06:33:37 -0800
committerapache <apache@e5-web1.enlightenment.org>2018-01-02 06:33:37 -0800
commit92aa73e2d3d37f4483b9c38788bf88270a080f3a (patch)
treef0b479c146eee3e467e90b6e3b9b7e658557e4d1 /pages/develop/setup/c/ubuntu.md.txt
parentc88791951b67af691e1f7dec85c22fc6882176c3 (diff)
Wiki page ubuntu.md changed with summary [] by Gareth Halfacree
Diffstat (limited to '')
-rw-r--r--pages/develop/setup/c/ubuntu.md.txt209
1 files changed, 209 insertions, 0 deletions
diff --git a/pages/develop/setup/c/ubuntu.md.txt b/pages/develop/setup/c/ubuntu.md.txt
new file mode 100644
index 000000000..1355d4541
--- /dev/null
+++ b/pages/develop/setup/c/ubuntu.md.txt
@@ -0,0 +1,209 @@
1---
2~~Title: Installing EFL on Ubuntu ~~
3---
4
5# Installing EFL on Ubuntu #
6[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.
7
8This 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.
9
10Many 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"](#From_Distribution_Repositories) section below.
11
12Distributions 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).
13
14The 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).
15
16You 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"](#Installing_from_Git).
17
18Whichever installation method you use, visit ["Compiling EFL Applications"](#Compiling_EFL_Applications) to discover how to compile your Enlightenment applications.
19
20## From Distribution repos ##
21
22EFL is not available in Ubuntu's official repositories, but you can install all the items you need from a special PPA repository. [See below for instructions on how to do that](#Installing_from_a_Special_Repository).
23
24## Installing from a Special Repository ##
25
26To install the latest EFL available from a special Ubuntu PPA repository, add the new repository with:
27
28```bash
29sudo add-apt-repository ppa:niko2040/e19
30```
31Refresh your repositories:
32
33```bash
34sudo apt-get update
35```
36
37And then install EFL and its development libraries:
38
39```bash
40sudo apt-get install libefl-dev
41```
42
43Ubuntu does not install by default the *gcc* compiler, so, before you can [compile any apps](#Compiling_EFL_Applications), you will need to install that too:
44
45```bash
46sudo apt-get install gcc
47```
48
49Also note that, due to EFL's fast development rate, it is unlikely the PPA will provide by default the latest version of EFL. This means that many of the examples in this documentation will probably need tweaking to work. If you would like to install an up to date version of EFL, see the [Installing from Source](#Installing_from_Source) section below or the instructions for [Installing from Git](#Installing_from_Git), also available below.
50
51## Installing from Packaged Source ##
52
53There are two versions available form the Enlightenment website. One is a packaged and available from the [EFL's download site](https://download.enlightenment.org/rel/libs/efl/). The other is the nightly bleeding edge version which you can [download using git](#Installing_from_Git). This section deals with installing with the packaged version available from the [EFL's download site](https://download.enlightenment.org/rel/libs/efl/).
54
55### Step 1: Downloading Stable Version ###
56
57[Download the latest version of EFL](https://download.enlightenment.org/rel/libs/efl/) and check it against its SHA256 hash:
58
59```bash
60wget https://download.enlightenment.org/rel/libs/efl/efl-X.XX.X.tar.xz
61wget https://download.enlightenment.org/rel/libs/efl/efl-X.XX.X.tar.xz.sha256
62cat efl-X.XX.X.tar.xz.sha256; sha256sum efl-X.XX.X.tar.xz
63```
64
65Note that you will have to change ``X.XX.X`` for the actual version of EFL.
66
67### Step 2: Unpacking ###
68
69Once you have the archive file containing EFL in your hard disk, unpack it with:
70
71```bash
72tar xvf efl-X.XX.X.tar.xz
73```
74
75This will produce a folder called *efl-X.XX.X*.
76
77### Step 3: Installing Dependencies ###
78
79Before you can compile and install EFL, you will have to install some software packages EFL needs:
80
81```bash
82sudo apt install check libssl-dev libsystemd-dev libjpeg-dev libglib2.0-dev libgstreamer1.0-dev libluajit-5.1-dev libfreetype6-dev libfontconfig1-dev libfribidi-dev libx11-dev libxext-dev libxrender-dev libgl1-mesa-dev libgif-dev libtiff5-dev libpoppler-dev libpoppler-cpp-dev libspectre-dev libraw-dev librsvg2-dev libudev-dev libmount-dev libdbus-1-dev libpulse-dev libsndfile1-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxrandr-dev libxtst-dev libxss-dev libbullet-dev libgstreamer-plugins-base1.0-dev doxygen
83```
84
85### Step 4: Building and Installing ###
86
87Once you have installed all the packages EFL needs, ``cd`` into the *efl-X.XX.X* folder and run
88
89```bash
90./configure
91make
92sudo make install
93```
94
95This will configure the files needed for compiling, actually compile the software, and then install it.
96
97### Step 5: Carrying out Post Installation Tasks ###
98
99As you are not installing to */usr* but to */usr/local*, you will have to ensure that some files are visible to *dbus*:
100
101```bash
102sudo ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service
103```
104
105You may also need to refresh your library path to make sure your apps can find the EFL libraries:
106
107```bash
108sudo ldconfig
109```
110
111## Installing from Git ##
112
113You can also get the bleeding edge version of EFL by cloning it from the git repository.
114
115### Step 1: Installing git and Cloning ###
116
117By default, *git* is not installed in Ubuntu, so the first step is to install it:
118
119```bash
120sudo apt install git
121```
122
123Next clone EFL's source code:
124
125```bash
126git clone https://git.enlightenment.org/core/efl.git
127```
128
129This will create a a directory called *efl/*.
130
131### Step 2: Installing Dependencies ###
132
133You will need to install some tools to build the configuration file:
134
135```bash
136sudo apt install autoconf autopoint libtool
137```
138
139As well as the dependencies specific for EFL:
140
141```bash
142sudo apt install check libssl-dev libsystemd-dev libjpeg-dev libglib2.0-dev libgstreamer1.0-dev libluajit-5.1-dev libfreetype6-dev libfontconfig1-dev libfribidi-dev libx11-dev libxext-dev libxrender-dev libgl1-mesa-dev libgif-dev libtiff5-dev libpoppler-dev libpoppler-cpp-dev libspectre-dev libraw-dev librsvg2-dev libudev-dev libmount-dev libdbus-1-dev libpulse-dev libsndfile1-dev libxcursor-dev libxcomposite-dev libxinerama-dev libxrandr-dev libxtst-dev libxss-dev libbullet-dev libgstreamer-plugins-base1.0-dev doxygen
143```
144
145### Step 3: Configuring the Software ###
146
147Now you can ``cd`` into the *efl\* directory and run the *autoreconf* script to create and configure the software ready for compilation:
148
149```bash
150./autogen.sh
151```
152
153Once configured, you can compile the software with:
154
155```bash
156make
157sudo make install
158```
159
160### Step 4: Carrying out Post Installation Tasks ###
161
162As you are not installing to */usr* but to */usr/local*, you will have to ensure that some files are visible to *dbus*:
163
164```bash
165sudo ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service
166```
167
168You may also need to refresh your library path to make sure your apps can find the EFL libraries:
169
170```bash
171sudo ldconfig
172```
173
174## Compiling EFL Applications ###
175
176With EFL installed, you can start compiling the applications you write using Enlightenment technologies:
177
178```bash
179gcc -o your_app your_app.c `pkg-config --cflags --libs eina efl elementary`
180```
181
182Where ``your_app`` is the name of the app you want to build and ``your_app.c`` contains the source code of your application.
183
184If the compilation is successful, this will create an executable application called *your_app* in the directory. You can run this app like any other program.
185
186## Troubleshooting ##
187
188If you get errors when you compile the examples in this guide, you may be using an out of date version of EFL. Update your libraries installing from [EFL's git repository](#Installing_from_Git).
189
190If you are having problems compiling and installing EFL, you can come and seek advice on the [any of our IRC channels](https://www.enlightenment.org/contact) or [post a ticket to our Phabricator](https://phab.enlightenment.org).
191
192## Installing on Other Distros ##
193
194If you would like to install EFL on a different distro, visit the link for the distro you want:
195
196[Arch]()
197: Arch derivatives such as Manjaro, Antergos, etc.
198
199[Debian]()
200: And derivatives.
201
202[openSUSE]()
203: Includes Tumbleweed and Leap.
204
205[Fedora]()
206: Includes other Red Hat derivatives such as CentOS, Scientific, etc.
207
208[Ubuntu]()
209: Also Mint, neon and other Ubuntu derivatives.