diff options
author | Andrew Williams <andy@andywilliams.me> | 2018-01-05 07:39:16 -0800 |
---|---|---|
committer | apache <apache@e5-web1.enlightenment.org> | 2018-01-05 07:39:16 -0800 |
commit | 4e44271f8d4a4c3b89cb95366707f362d67f15ed (patch) | |
tree | 96eefd3966d42f5b9d851cf9feda8ad8ab1628c4 /pages/docs | |
parent | 4bec96905620d94caf682e5e89d83b82ff8021ea (diff) |
Wiki page ubuntu-start changed with summary [] by Andrew Williams
Diffstat (limited to 'pages/docs')
-rw-r--r-- | pages/docs/distros/ubuntu-start.txt | 249 |
1 files changed, 174 insertions, 75 deletions
diff --git a/pages/docs/distros/ubuntu-start.txt b/pages/docs/distros/ubuntu-start.txt index d2852e8b6..6a645f03e 100644 --- a/pages/docs/distros/ubuntu-start.txt +++ b/pages/docs/distros/ubuntu-start.txt | |||
@@ -1,81 +1,180 @@ | |||
1 | ~~Title: EFL on Ubuntu~~ | 1 | --- |
2 | ==== Compiling from Source ==== | 2 | ~~Title: Installing EFL on Ubuntu ~~ |
3 | 3 | --- | |
4 | == Build Dependencies == | 4 | |
5 | 5 | # Installing EFL on Ubuntu # | |
6 | Satisfying dependencies under **Ubuntu Xenial Xerus** and recommended packages: | 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 | 7 | ||
8 | <code> | 8 | 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. |
9 | 9 | ||
10 | sudo apt-get install automake autopoint build-essential ccache check \ | 10 | 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"](#From_Distribution_Repositories) section below. |
11 | doxygen faenza-icon-theme git imagemagick libasound2-dev libblkid-dev \ | 11 | |
12 | libbluetooth-dev libbullet-dev libcogl-gles2-dev libfontconfig1-dev \ | 12 | 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). |
13 | libfreetype6-dev libfribidi-dev libgeoclue-2-dev libgif-dev libgstreamer1.0-dev \ | 13 | |
14 | libgstreamer-plugins-base1.0-dev libharfbuzz-dev libibus-1.0-dev \ | 14 | 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). |
15 | libiconv-hook-dev libinput-dev libjpeg-dev libblkid-dev libluajit-5.1-dev \ | 15 | |
16 | liblz4-dev libmount-dev libopenjp2-7-dev libpam0g-dev libpoppler-cpp-dev \ | 16 | 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"](#Installing_from_Git). |
17 | libpoppler-dev libpoppler-private-dev libproxy-dev libpulse-dev \ | 17 | |
18 | libraw-dev librsvg2-dev libscim-dev libsndfile1-dev libspectre-dev \ | 18 | Whichever installation method you use, visit ["Compiling EFL Applications"](#Compiling_EFL_Applications) to discover how to compile your Enlightenment applications. |
19 | libssl-dev libsystemd-dev libtiff5-dev libtool libudev-dev \ | ||
20 | libudisks2-dev libunibreak-dev libunwind-dev libvlc-dev libwebp-dev \ | ||
21 | libxcb-keysyms1-dev libxcursor-dev libxine2-dev libxinerama-dev \ | ||
22 | libxkbfile-dev libxrandr-dev libxss-dev libxtst-dev \ | ||
23 | linux-tools-common texlive-base unity-greeter-badges \ | ||
24 | valgrind xserver-xephyr | ||
25 | |||
26 | </code> | ||
27 | |||
28 | Note that a number of Enlightenment programs have transitioned to the [[http://mesonbuild.com/|Meson build system]]. | ||
29 | To install Meson in Ubuntu, you can issue the following commands: | ||
30 | <code> | ||
31 | sudo apt-get install ninja-build python3-pip | ||
32 | </code> | ||
33 | Then (without sudo): | ||
34 | <code> | ||
35 | pip3 install --user meson | ||
36 | </code> | ||
37 | If necessary, add: | ||
38 | <code> | ||
39 | export PATH=$HOME/.local/bin:$PATH | ||
40 | </code> | ||
41 | at the bottom of your ~/.bashrc file. | ||
42 | |||
43 | If you ever need to uninstall meson, simply run: | ||
44 | <code> | ||
45 | pip3 uninstall meson | ||
46 | </code> | ||
47 | |||
48 | Meson [[https://git.enlightenment.org/core/enlightenment.git/tree/INSTALL|quick help]]. | ||
49 | |||
50 | Then go to [[/docs/distros/]] to learn how to install the whole thing ;-) | ||
51 | |||
52 | <note tip> | ||
53 | Alternatively, if you do not want to delve into the many subtleties of the compilation process — while retaining a fully functional Ubuntu system after the build has finished — check out [[http://build-enlightenment.monsite-orange.fr/|batden's script]]: Covering Ubuntu 16.04 LTS and 17.10 with Wayland.</note> | ||
54 | |||
55 | == Wayland Support == | ||
56 | |||
57 | Since Ubuntu has switched to using Wayland by default, building support for this new display system in Enlightenment is now easier. | ||
58 | Please refer to this [[https://git.enlightenment.org/core/enlightenment.git/tree/README.wayland|README]] for more information. | ||
59 | |||
60 | ==== Binary Packages ==== | ||
61 | |||
62 | The available packages in the official Ubuntu repositories are outdated. | ||
63 | The [[https://help.ubuntu.com/community/PPA|PPA]] below provides the latest stable version of E22. | ||
64 | |||
65 | To add this PPA to your system, | ||
66 | open a terminal and enter: | ||
67 | |||
68 | <code> | ||
69 | sudo add-apt-repository ppa:niko2040/e19 | ||
70 | </code> | ||
71 | 19 | ||
72 | To install Enlightenment and Terminology (recommended): | 20 | ## From Distribution repos ## |
73 | 21 | ||
74 | <code> | 22 | EFL 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 | |||
26 | To install the latest EFL available from a special Ubuntu PPA repository, add the new repository with: | ||
27 | |||
28 | ```bash | ||
29 | sudo add-apt-repository ppa:niko2040/e19 | ||
30 | ``` | ||
31 | Refresh your repositories: | ||
32 | |||
33 | ```bash | ||
75 | sudo apt-get update | 34 | sudo apt-get update |
76 | sudo apt-get install e20 terminology | 35 | ``` |
77 | </code> | 36 | |
37 | And then install EFL and its development libraries: | ||
38 | |||
39 | ```bash | ||
40 | sudo apt-get install libefl-dev | ||
41 | ``` | ||
42 | |||
43 | Ubuntu 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 | ||
46 | sudo apt-get install gcc | ||
47 | ``` | ||
48 | |||
49 | Also 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 | |||
53 | There 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 | ||
60 | wget https://download.enlightenment.org/rel/libs/efl/efl-X.XX.X.tar.xz | ||
61 | wget https://download.enlightenment.org/rel/libs/efl/efl-X.XX.X.tar.xz.sha256 | ||
62 | cat efl-X.XX.X.tar.xz.sha256; sha256sum efl-X.XX.X.tar.xz | ||
63 | ``` | ||
64 | |||
65 | Note that you will have to change ``X.XX.X`` for the actual version of EFL. | ||
66 | |||
67 | ### Step 2: Unpacking ### | ||
68 | |||
69 | Once you have the archive file containing EFL in your hard disk, unpack it with: | ||
70 | |||
71 | ```bash | ||
72 | tar xvf efl-X.XX.X.tar.xz | ||
73 | ``` | ||
74 | |||
75 | This will produce a folder called *efl-X.XX.X*. | ||
76 | |||
77 | ### Step 3: Installing Dependencies ### | ||
78 | |||
79 | Before you can compile and install EFL, you will have to install some software packages EFL needs: | ||
80 | |||
81 | ```bash | ||
82 | sudo 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 | |||
87 | Once you have installed all the packages EFL needs, ``cd`` into the *efl-X.XX.X* folder and run | ||
88 | |||
89 | ```bash | ||
90 | ./configure | ||
91 | make | ||
92 | sudo make install | ||
93 | ``` | ||
94 | |||
95 | This 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 | |||
99 | As 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 | ||
102 | sudo ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service | ||
103 | ``` | ||
104 | |||
105 | You may also need to refresh your library path to make sure your apps can find the EFL libraries: | ||
106 | |||
107 | ```bash | ||
108 | sudo ldconfig | ||
109 | ``` | ||
110 | |||
111 | ## Installing from Git ## | ||
112 | |||
113 | You 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 | |||
117 | By default, *git* is not installed in Ubuntu, so the first step is to install it: | ||
118 | |||
119 | ```bash | ||
120 | sudo apt install git | ||
121 | ``` | ||
122 | |||
123 | Next clone EFL's source code: | ||
124 | |||
125 | ```bash | ||
126 | git clone https://git.enlightenment.org/core/efl.git | ||
127 | ``` | ||
128 | |||
129 | This will create a a directory called *efl/*. | ||
130 | |||
131 | ### Step 2: Installing Dependencies ### | ||
132 | |||
133 | You will need to install some tools to build the configuration file: | ||
134 | |||
135 | ```bash | ||
136 | sudo apt install autoconf autopoint libtool | ||
137 | ``` | ||
138 | |||
139 | As well as the dependencies specific for EFL: | ||
140 | |||
141 | ```bash | ||
142 | sudo 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 | |||
147 | Now 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 | |||
153 | Once configured, you can compile the software with: | ||
154 | |||
155 | ```bash | ||
156 | make | ||
157 | sudo make install | ||
158 | ``` | ||
159 | |||
160 | ### Step 4: Carrying out Post Installation Tasks ### | ||
161 | |||
162 | As 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 | ||
165 | sudo ln -s /usr/local/share/dbus-1/services/org.enlightenment.Ethumb.service /usr/share/dbus-1/services/org.enlightenment.Ethumb.service | ||
166 | ``` | ||
167 | |||
168 | You may also need to refresh your library path to make sure your apps can find the EFL libraries: | ||
169 | |||
170 | ```bash | ||
171 | sudo ldconfig | ||
172 | ``` | ||
173 | |||
174 | ## Troubleshooting ## | ||
78 | 175 | ||
176 | If 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). | ||
79 | 177 | ||
80 | Then log out (or restart your computer), select Enlightenment on the login screen and the configuration wizard will appear. | 178 | ## Installing on Other Operating Systems ## |
81 | 179 | ||
180 | If you would like to install EFL on a different operating system visit the [Setting up a C Development Environment page](start.md). \ No newline at end of file | ||