source: xsoft/other/thunderbird.xml@ 4a0417a

10.0 10.1 11.0 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind ken/refactor-virt lazarus perl-modules qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since 4a0417a was 4a0417a, checked in by Pierre Labastie <pieere@…>, 5 years ago

Fix thunderbird for newer libevent

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@18252 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 16.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY thunderbird-download-http "&mozilla-http;/thunderbird/releases/&thunderbird-version;/source/thunderbird-&thunderbird-version;.source.tar.xz">
8<!-- <!ENTITY thunderbird-download-ftp "&mozilla-ftp;/thunderbird/releases/&thunderbird-version;/source/thunderbird-&thunderbird-version;.source.tar.xz">-->
9 <!ENTITY thunderbird-download-ftp " ">
10 <!ENTITY thunderbird-md5sum "ac8bc081c601c96d683b94c79abda114">
11 <!ENTITY thunderbird-size "192 MB">
12 <!ENTITY thunderbird-buildsize "3.6 GB (86 MB installed)">
13 <!ENTITY thunderbird-time "15 SBU (with -j4, estimated 36 SBU with -j1)">
14]>
15
16<sect1 id="thunderbird" xreflabel="Thunderbird-&thunderbird-version;">
17 <?dbhtml filename="thunderbird.html" ?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>Thunderbird-&thunderbird-version;</title>
25
26 <indexterm zone="thunderbird">
27 <primary sortas="a-Thunderbird">Thunderbird</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to Thunderbird</title>
32
33 <para>
34 <application>Thunderbird</application> is a stand-alone mail/news client
35 based on the <application>Mozilla</application> codebase. It uses the
36 Gecko rendering engine to enable it to display and compose HTML emails.
37 </para>
38
39 &lfs7a_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&thunderbird-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&thunderbird-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &thunderbird-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &thunderbird-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &thunderbird-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &thunderbird-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Thunderbird Dependencies</bridgehead>
76
77 <bridgehead renderas="sect4">Required</bridgehead>
78 <para role="required">
79 <xref linkend="alsa-lib"/>,
80 <xref linkend="gtk2"/>,
81 <xref linkend="zip"/>,
82 <xref linkend="unzip"/>, and
83 <xref linkend="yasm"/>
84 </para>
85
86 <bridgehead renderas="sect4">Recommended</bridgehead>
87 <para role="recommended">
88 <xref linkend="libevent"/>,
89 <xref linkend="libvpx"/>,
90 <xref linkend="nspr"/>, and
91 <xref linkend="nss"/><!-- , and
92 <xref linkend="sqlite"/>
93 Do not use system SQLite until TB-48/52 because it uses insecure
94 routines (FTS3) that are not built in BLFS -->
95 </para>
96
97 <note>
98 <para>
99 If you don't install recommended dependencies,
100 then internal copies of those packages will
101 be used. They might be tested to work, but
102 they can be out of date or contain security
103 holes.
104 </para>
105 </note>
106
107 <note>
108 <para>
109 With <application>Thunderbird-31.0</application> and later versions,
110 you must have installed <application>Openssl</application> before
111 <application>Python 2</application>, or the build system will quickly
112 fail with output including "ImportError: cannot import name
113 HTTPSHandler". If you are in any doubt about this (e.g. upgrading from
114 an older version of Thunderbird), check if
115 <filename>/usr/lib/python&python2-majorver;/lib-dynload/_ssl.so</filename>
116 exists. If it does not, reinstall <xref linkend="python2"/> (after
117 installing <xref linkend="openssl"/> - the latest version of any
118 <emphasis>currently maintained</emphasis> version of Openssl should be
119 satisfactory if already installed - if that package has not already
120 been installed).
121 </para>
122 </note>
123
124 <bridgehead renderas="sect4">Optional</bridgehead>
125 <para role="optional">
126 <xref linkend="curl"/>,
127 <xref linkend="cyrus-sasl"/>,
128 <xref linkend="dbus-glib"/>,
129 <xref linkend="doxygen"/>,
130 <xref linkend="GConf"/>,
131 <xref linkend="gst10-plugins-base"/> (with
132 <xref linkend="gst10-plugins-good"/> and
133 <xref linkend="gst10-libav"/> at runtime),
134 <xref linkend="llvm"/>,
135 <xref linkend="openjdk"/>,
136 <xref linkend="pulseaudio"/>,
137 <xref linkend="sqlite"/> (not recommended due to potential
138 security concerns),
139 <xref linkend="startup-notification"/>,
140 <xref linkend="wget"/>,
141 <xref linkend="wireless_tools"/>, and
142 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>
143 </para>
144
145 <para condition="html" role="usernotes">
146 User Notes: <ulink url="&blfs-wiki;/Thunderbird"/>
147 </para>
148 </sect2>
149
150 <sect2 role="installation">
151 <title>Installation of Thunderbird</title>
152
153 <para>
154 The configuration of <application>Thunderbird</application> is
155 accomplished by creating a <filename>mozconfig</filename> file containing
156 the desired configuration options. A default
157 <filename>mozconfig</filename> is created below. To see the entire list
158 of available configuration options (and a brief description of each),
159 issue <command>mozilla/configure --help</command>. Create the file with
160 the following command:
161 </para>
162
163<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
164<literal># If you have a multicore machine, the build may be faster if using parallel
165# jobs. The build system automatically adds -jN to the "make" flags, where N
166# is the number of CPU cores. The option below is therefore useless, unless
167# you want to use a smaller number of jobs:
168#mk_add_options MOZ_MAKE_FLAGS="-j1"
169
170# If you have installed dbus-glib, comment out this line:
171ac_add_options --disable-dbus
172
173# If you have installed wireless-tools comment out this line:
174ac_add_options --disable-necko-wifi
175
176# GStreamer is necessary for H.264 video playback in HTML5 Video Player;
177# to be enabled, also remember to set "media.gstreamer.enabled" to "true"
178# in about:config. If you have GStreamer 1.x.y, comment out this line and
179# uncomment the following one:
180ac_add_options --disable-gstreamer
181#ac_add_options --enable-gstreamer=1.0
182
183# Uncomment these lines if you have installed optional dependencies:
184#ac_add_options --enable-system-hunspell
185#ac_add_options --enable-startup-notification
186
187# Comment out following option if you have PulseAudio installed
188ac_add_options --disable-pulseaudio
189
190# Comment out following option if you have gconf installed
191ac_add_options --disable-gconf
192<!-- Uncommenting does not work
193# If you have not installed Yasm then uncomment this line:
194#ac_add_options - -disable-webm
195-->
196# If you want to compile the Mozilla Calendar, uncomment this line:
197#ac_add_options --enable-calendar
198
199# Comment out following options if you have not installed
200# recommended dependencies:
201# Do not use system SQLite for Thunderbird 45.x
202#ac_add_options --enable-system-sqlite
203ac_add_options --with-system-libevent
204ac_add_options --with-system-libvpx
205ac_add_options --with-system-nspr
206ac_add_options --with-system-nss
207ac_add_options --with-system-icu
208
209# Set CFLAGS and CXXFLAGS to prevent segfaults due to agressive
210# optimizations in GCC-6:
211export CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
212export CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
213
214# The BLFS editors recommend not changing anything below this line:
215ac_add_options --prefix=/usr
216ac_add_options --enable-application=mail
217
218ac_add_options --disable-crashreporter
219ac_add_options --disable-installer
220ac_add_options --disable-updater
221ac_add_options --disable-debug
222ac_add_options --disable-tests
223
224ac_add_options --enable-optimize
225ac_add_options --enable-strip
226ac_add_options --enable-install-strip
227
228ac_add_options --enable-gio
229ac_add_options --enable-official-branding
230ac_add_options --enable-safe-browsing
231ac_add_options --enable-url-classifier
232
233# Use internal cairo due to reports of unstable execution with
234# system cairo
235#ac_add_options --enable-system-cairo
236ac_add_options --enable-system-ffi
237ac_add_options --enable-system-pixman
238
239ac_add_options --with-pthreads
240
241ac_add_options --with-system-bz2
242ac_add_options --with-system-jpeg
243ac_add_options --with-system-png
244ac_add_options --with-system-zlib</literal>
245EOF</userinput></screen>
246
247<!-- might be necessary
248test $(uname -m) = "i686" && sed -i 's/enable-optimize/disable-optimize/' mozconfig || true &&-->
249
250 <para>
251 Compile <application>Thunderbird</application> by issuing the following
252 commands:
253 </para>
254
255 <para>
256 If you have installed version 2.1.8 or newer of libevent, fix a file:
257 </para>
258
259<screen><userinput>sed -e s/_EVENT_SIZEOF/EVENT__SIZEOF/ \
260 -i mozilla/ipc/chromium/src/base/message_pump_libevent.cc</userinput></screen>
261
262 <note><para>
263 If you are compiling <application>Thunderbird</application> in chroot,
264 prepend <envar>SHELL=/bin/sh</envar> to the make command below.
265 </para></note>
266
267<screen><userinput>sed -e '/#include/i\
268 print OUT "#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS\\n"\;' \
269 -i mozilla/nsprpub/config/make-system-wrappers.pl &amp;&amp;
270
271sed -e '/#include/a\
272 print OUT "#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS\\n"\;' \
273 -i mozilla/nsprpub/config/make-system-wrappers.pl &amp;&amp;
274
275make -f client.mk</userinput></screen>
276
277 <para>
278 This package does not come with a test suite.
279 </para>
280
281 <para>
282 Install <application>Thunderbird</application> by running the following
283 commands as the <systemitem class="username">root</systemitem> user:
284 </para>
285
286<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
287chown -R 0:0 /usr/lib/thunderbird-&thunderbird-version;</userinput></screen>
288
289<!-- thunderbuild directory does not exist anymore. Leaving as comment,
290in case an editor figures out how to install the development environment.
291 <para>
292 The above instruction just installs the parts you need to run
293 <application>Thunderbird</application>. Alternatively, if you want to
294 install the full <application>Thunderbird</application> development
295 environment, run the following command as the
296 <systemitem class="username">root</systemitem> user:
297 </para>
298
299<screen role="root"><userinput>make -C thunderbuild install</userinput></screen>
300-->
301 </sect2>
302
303 <sect2 role="commands">
304 <title>Command Explanations</title>
305<!-- might be necessary
306 <para>
307 <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>: On this
308 version of thunderbird, an old bug has reappeared in 32-bit builds. With
309 optimization, the install fails with a Python error. This command will
310 fix i686 builds and preserve the optimization on x86_64.
311 </para>-->
312
313 <para>
314 <command>sed ...</command>: These commands correct the source to be
315 compatible with gcc6 by preventing c++ scope errors.
316 </para>
317
318 <para>
319 <command>export CFLAGS= ... export CXXFLAGS= ...</command>: These
320 settings work around code which gcc6 would otherwise regard as
321 out-of-specification and allow it to produce a working program.
322 </para>
323
324 <para>
325 <command>make -f client.mk</command>: Mozilla products are packaged to
326 allow the use of a configuration file which can be used to pass the
327 configuration settings to the <command>configure</command> command.
328 <command>make</command> uses the <filename>client.mk</filename> file to
329 get initial configuration and setup parameters.
330 </para>
331
332 </sect2>
333
334 <sect2 role="configuration">
335 <title>Configuring Thunderbird</title>
336
337 <sect3><title>Configuration Information</title>
338
339 <para>
340 If your Window or Desktop Manager does not allow you to configure a
341 default browser, you can add a configuration parameter to
342 <application>Thunderbird</application> so that a browser will start when
343 when you click on an Internet/intranet/local URL. The procedure to check
344 or modify any of the configuration parameters is quite simple and the
345 instructions here can be used to view or modify any of the parameters.
346 </para>
347
348 <para>
349 First, open the configuration dialog by opening the <quote>Edit</quote>
350 drop-down menu. Choose <quote>Preferences</quote> and then click on the
351 <quote>Advanced</quote> icon on the top menu bar. Choose the
352 <quote>General</quote> tab and click on the <quote>Config Editor</quote>
353 button. This will display a list of the configuration preferences and
354 information related to each one. You can use the <quote>Filter:</quote>
355 bar to enter search criteria and narrow down the listed items. Changing
356 a preference can be done using two methods. One, if the preference has a
357 boolean value (True/False), simply double-click on the preference to
358 toggle the value and two, for other preferences simply right-click on
359 the desired line, choose <quote>Modify</quote> from the menu and change
360 the value. Creating new preference items is accomplished in the same
361 way, except choose <quote>New</quote> from the menu and provide the
362 desired data into the fields when prompted.
363 </para>
364
365 <para>
366 The configuration preference item you need to check so that
367 <application>Thunderbird</application> uses a specified browser is the
368 <parameter>network.protocol-handler.app.http</parameter> which should be
369 set to the path of the desired browser, e.g.
370 <option>/usr/bin/firefox</option>.
371 </para>
372
373 <tip>
374 <para>
375 There is a multitude of configuration parameters you can tweak to
376 customize <application>Thunderbird</application>. A very extensive,
377 but not so up-to-date list of these parameters can be found at
378 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
379 </para>
380 </tip>
381
382 <para>
383
384 If you use a desktop environment such as <application>GNOME</application>
385 or <application>KDE</application>, a desktop file
386 <filename>thunderbird.desktop</filename> may be created, in order to
387 include a <quote><application>Thunderbird</application></quote> entry in
388 the menu. If you didn't enable
389 <application>startup-notification</application> in your mozconfig, then
390 change the StartupNotify line to false. Run the following commands as the
391 <systemitem class="username">root</systemitem> user:
392
393 </para>
394
395<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
396
397cat &gt; /usr/share/applications/thunderbird.desktop &lt;&lt; "EOF" &amp;&amp;
398<literal>[Desktop Entry]
399Encoding=UTF-8
400Name=Thunderbird Mail
401Comment=Send and receive mail with Thunderbird
402GenericName=Mail Client
403Exec=thunderbird %u
404Terminal=false
405Type=Application
406Icon=thunderbird
407Categories=Application;Network;Email;
408MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
409StartupNotify=true</literal>
410EOF
411
412ln -sfv /usr/lib/thunderbird-&thunderbird-version;/chrome/icons/default/default256.png \
413 /usr/share/pixmaps/thunderbird.png</userinput></screen>
414 </sect3>
415 </sect2>
416
417 <sect2 role="content">
418 <title>Contents</title>
419
420 <segmentedlist>
421 <segtitle>Installed Program</segtitle>
422 <segtitle>Installed Libraries</segtitle>
423 <segtitle>Installed Directory</segtitle>
424
425 <seglistitem>
426 <seg>
427 thunderbird
428 </seg>
429 <seg>
430 None
431 </seg>
432 <seg>
433 /usr/lib/thunderbird-&thunderbird-version;
434 </seg>
435 </seglistitem>
436 </segmentedlist>
437
438 <variablelist>
439 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
440 <?dbfo list-presentation="list"?>
441 <?dbhtml list-presentation="table"?>
442
443 <varlistentry id="thunderbird-prog">
444 <term><command>thunderbird</command></term>
445 <listitem>
446 <para>
447 is <application>Mozilla</application>'s email and newsgroup client.
448 </para>
449 <indexterm zone="thunderbird thunderbird-prog">
450 <primary sortas="b-thunderbird">thunderbird</primary>
451 </indexterm>
452 </listitem>
453 </varlistentry>
454
455 </variablelist>
456
457 </sect2>
458
459</sect1>
Note: See TracBrowser for help on using the repository browser.