summaryrefslogtreecommitdiffstats
path: root/doc/texi/Building.linux.texi
blob: adfb4463289d1a7bd01e120641cbffd2421f24fb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
\input texinfo @c -*- Texinfo -*-
@c %**start of header
@setfilename Building.linux.info
@include base/article.texi
@include building/command.texi
@paragraphindent none

@set BG-platform @value{OS-linux}
@c %**end of header

@majorheading Guide to Building @value{HB-title} on @value{BG-platform}
@contents
@sp 1
@include building/chapter.introduction.texi

@c %**-------------------------------------------------------------------------
@anchor{prerequisites}
@chapter Prerequisites
The following are the recommended specifications for building on @value{OS-linux}; but is not necessarily the only configuration that is possible:

@itemize @bullet
@item Intel 32-bit or 64-bit kernel
@item Ubuntu 14.04, gcc 4.8, yasm 1.3.x
@item Fedora 20, gcc 4.8, yasm 1.3.x
@item gcc 4.7 or higher is reported to work
@end itemize

@include building/prerequisites.bundled.texi

@include building/prerequisites.common.texi

The @b{GTK UI} introduces some significant extra build requirements. GTK version 3.10+ is required to build the GTK UI. If you intend to disable building the GUI with @command{configure --disable-gtk} you will not need many of these packages installed:

Ubuntu 14.04 packages:
@itemize @bullet
@item subversion (cli/gui)
@item yasm (cli/gui)
@item build-essential (cli/gui)
@item autoconf (cli/gui)
@item libtool (cli/gui)
@item zlib1g-dev (cli/gui)
@item libbz2-dev (cli/gui)
@item libxml2-dev (cli/gui)
@item libogg-dev (cli/gui)
@item libtheora-dev (cli/gui)
@item libvorbis-dev (cli/gui)
@item libsamplerate-dev (cli/gui)
@item libfribidi-dev (cli/gui)
@item libfreetype6-dev (cli/gui)
@item libfontconfig1-dev (cli/gui)
@item libass-dev (cli/gui)
@item libmp3lame-dev (cli/gui)
@item libx264-dev (cli/gui)
@item intltool (gui)
@item libglib2.0-dev (gui)
@item libdbus-glib-1-dev (gui)
@item libgtk-3-dev (gui)
@item libgudev-1.0-dev (gui)
@item libwebkitgtk-3.0-dev (gui)
@item libnotify-dev (gui)
@item libgstreamer1.0-dev (gui)
@item libgstreamer-plugins-base1.0-dev (gui)
@item libappindicator-dev (gui)
@end itemize

To install these packages:
@example
sudo apt-get install subversion yasm build-essential autoconf libtool \
zlib1g-dev libbz2-dev libogg-dev libtheora-dev libvorbis-dev \
libsamplerate-dev libxml2-dev libfribidi-dev libfreetype6-dev \
libfontconfig1-dev libass-dev libmp3lame-dev intltool libglib2.0-dev \
libdbus-glib-1-dev libgtk-3-dev libgudev-1.0-dev libwebkitgtk-3.0-dev \
libnotify-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev \
libappindicator-dev
@end example

Fedora 20 package groups:
@itemize @bullet
@item Development Tools
@item Development Libraries
@item X Software Development (gui)
@item GNOME Software Development (gui)
@end itemize

To install these package groups:
@example
sudo yum groupinstall "Development Tools" "Development Libraries" \
"X Software Development" "GNOME Software Development"
@end example

Additional Fedora packages:
@itemize @bullet
@item yasm (cli/gui)
@item zlib-devel (cli/gui)
@item bzip2-devel (cli/gui)
@item libogg-devel (cli/gui)
@item libtheora-devel (cli/gui)
@item libvorbis-devel (cli/gui)
@item libsamplerate-devel (cli/gui)
@item libxml2-devel (cli/gui)
@item fribidi-devel (cli/gui)
@item freetype-devel (cli/gui)
@item fontconfig-devel (cli/gui)
@item libass-devel (cli/gui)
@item lame-devel (cli/gui)
@item x264-devel (cli/gui)
@item dbus-glib-devel (gui)
@item libgudev1-devel (gui)
@item webkitgtk3-devel (gui)
@item libnotify-devel (gui)
@item gstreamer1-devel (gui)
@item gstreamer1-plugins-base-devel (gui)
@end itemize

To install these packages:
@example
sudo yum install yasm zlib-devel bzip2-devel libogg-devel libtheora-devel \
libvorbis-devel libsamplerate-devel libxml2-devel fribidi-devel \
freetype-devel fontconfig-devel libass-devel lame-devel dbus-glib-devel \
libgudev1-devel webkitgtk3-devel libnotify-devel \
gstreamer1-devel gstreamer1-plugins-base-devel
@end example

@c %**-------------------------------------------------------------------------
@include building/chapter.quickstart.texi

@anchor{overview}
@chapter Overview
@value{OS-linux} builds are performed from a @b{terminal}. There is no support for building from any IDEs.

@c %**-------------------------------------------------------------------------
@include building/chapter.via.terminal.texi
@include building/chapter.troubleshooting.texi
@include building/appendix.repo.texi