source: xsoft/other/thunderbird.xml@ 36bcb4c0

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 36bcb4c0 was 36bcb4c0, checked in by Ken Moffat <ken@…>, 4 years ago

Add commented option to disable elf hack in thunderbird.

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

  • Property mode set to 100644
File size: 15.1 KB
RevLine 
[16998db6]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[16998db6]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[cf7d546]7 <!ENTITY thunderbird-download-http "&mozilla-http;/thunderbird/releases/&thunderbird-version;/source/thunderbird-&thunderbird-version;.source.tar.xz">
[8dfc5c3]8 <!ENTITY thunderbird-download-ftp " ">
[b89ec32]9 <!ENTITY thunderbird-md5sum "1a4b10bb08be92a32a0523c74946e9da">
10 <!ENTITY thunderbird-size "324 MB">
[ea1dc0f]11 <!ENTITY thunderbird-buildsize "4.2 GB (151 MB installed)">
[3049e2e]12 <!ENTITY thunderbird-time "31 SBU (with -j4, estimated 90 SBU with -j1)">
[fbc71c3]13 <!-- Verified the time at -j1 on another system for posterity's sake. -->
[16998db6]14]>
15
[d1981e0]16<sect1 id="thunderbird" xreflabel="Thunderbird-&thunderbird-version;">
[1c5e617]17 <?dbhtml filename="thunderbird.html" ?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
[55329727]21 <date>$Date$</date>
[1c5e617]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
[d41c02b]33 <para>
34 <application>Thunderbird</application> is a stand-alone mail/news client
[604ba3d8]35 based on the <application>Mozilla</application> codebase. It uses the
36 Gecko rendering engine to enable it to display and compose HTML emails.
[d41c02b]37 </para>
[b9b1a372]38
[5b15225]39 &lfs90_checked;
[1c5e617]40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
[d41c02b]44 <para>
45 Download (HTTP): <ulink url="&thunderbird-download-http;"/>
46 </para>
[1c5e617]47 </listitem>
48 <listitem>
[d41c02b]49 <para>
50 Download (FTP): <ulink url="&thunderbird-download-ftp;"/>
51 </para>
[1c5e617]52 </listitem>
53 <listitem>
[d41c02b]54 <para>
55 Download MD5 sum: &thunderbird-md5sum;
56 </para>
[1c5e617]57 </listitem>
58 <listitem>
[d41c02b]59 <para>
60 Download size: &thunderbird-size;
61 </para>
[1c5e617]62 </listitem>
63 <listitem>
[d41c02b]64 <para>
65 Estimated disk space required: &thunderbird-buildsize;
66 </para>
[1c5e617]67 </listitem>
68 <listitem>
[d41c02b]69 <para>
70 Estimated build time: &thunderbird-time;
71 </para>
[1c5e617]72 </listitem>
73 </itemizedlist>
[773ef6d]74
[1c5e617]75 <bridgehead renderas="sect3">Thunderbird Dependencies</bridgehead>
76
77 <bridgehead renderas="sect4">Required</bridgehead>
[d41c02b]78 <para role="required">
[30339015]79<!-- <xref linkend="alsa-lib"/>, no mention in log -->
[1c984ec]80 <xref linkend="autoconf213"/>,
[dbff18b]81 both <xref linkend="gtk3"/>
82 and <xref linkend="gtk2"/>,
[fd1a10f5]83 <xref linkend="llvm"/>, <!-- Searched for and used a few times -->
[307a22f]84 <xref linkend="rust"/>,
[8b9ad6e]85 <xref linkend="zip"/>,
[a30a874]86 <xref linkend="unzip"/>, and
87 <xref linkend="yasm"/>
[d41c02b]88 </para>
89
[1ddbf11a]90 <bridgehead renderas="sect4">Recommended</bridgehead>
91 <para role="recommended">
[30339015]92 <xref linkend="icu"/>,
[1ddbf11a]93 <xref linkend="libevent"/>,
[2cc3607]94<!-- Fails to build with version 1.8.0
95 <xref linkend="libvpx"/>,-->
[989c203]96 <xref linkend="nspr"/>,
97 <xref linkend="nss"/>, and
[8b9ad6e]98 <xref linkend="sqlite"/>
[1ddbf11a]99 </para>
100
101 <note>
102 <para>
103 If you don't install recommended dependencies,
104 then internal copies of those packages will
105 be used. They might be tested to work, but
106 they can be out of date or contain security
107 holes.
108 </para>
109 </note>
[e3f35536]110
[1c5e617]111 <bridgehead renderas="sect4">Optional</bridgehead>
[d41c02b]112 <para role="optional">
[989c203]113 <!-- <xref linkend="curl"/>, not in build log-->
[23d3543c]114 <xref linkend="cyrus-sasl"/>,
[d41c02b]115 <xref linkend="dbus-glib"/>,
116 <xref linkend="doxygen"/>,
[89cdb63d]117 <xref linkend="GConf"/>,
[989c203]118 <!--<xref linkend="gst10-plugins-base"/> (with
[6000a3e]119 <xref linkend="gst10-plugins-good"/> and
[989c203]120 <xref linkend="gst10-libav"/> at runtime),-->
121 <!-- <xref linkend="openjdk"/>, not in build log -->
[4ee8515]122 <xref linkend="pulseaudio"/>,
[d41c02b]123 <xref linkend="startup-notification"/>,
[2b1fa01]124 <xref linkend="wget"/>, and
125 <xref linkend="wireless_tools"/>
[d41c02b]126 </para>
127
128 <para condition="html" role="usernotes">
129 User Notes: <ulink url="&blfs-wiki;/Thunderbird"/>
130 </para>
[1c5e617]131 </sect2>
132
133 <sect2 role="installation">
134 <title>Installation of Thunderbird</title>
135
[1916905]136 <note>
137 <para>
138 The build process for Thunderbird can use 8GB+ of RAM when linking.
139 Make sure that you have adequate swap or RAM before continuing.
140 </para>
141 </note>
142
[d41c02b]143 <para>
144 The configuration of <application>Thunderbird</application> is
145 accomplished by creating a <filename>mozconfig</filename> file containing
146 the desired configuration options. A default
[53f790a]147 <filename>mozconfig</filename> is created below. To see the entire list
148 of available configuration options (and a brief description of each),
149 issue <command>mozilla/configure --help</command>. Create the file with
150 the following command:
[d41c02b]151 </para>
[adb388a]152
[0adc5d50]153<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
[da0a3b9]154<literal># If you have a multicore machine, the build may be faster if using parallel
[53f790a]155# jobs. The build system automatically adds -jN to the "make" flags, where N
156# is the number of CPU cores. The option below is therefore useless, unless
157# you want to use a smaller number of jobs:
158#mk_add_options MOZ_MAKE_FLAGS="-j1"
[9671f10]159
[7090d94]160# If you have installed dbus-glib, comment out this line:
[f207d239]161ac_add_options --disable-dbus
162
[1ddbf11a]163# If you have installed wireless-tools comment out this line:
[9671f10]164ac_add_options --disable-necko-wifi
165
[1ddbf11a]166# Uncomment these lines if you have installed optional dependencies:
167#ac_add_options --enable-startup-notification
168
[4ee8515]169# Comment out following option if you have PulseAudio installed
170ac_add_options --disable-pulseaudio
[89cdb63d]171
172# Comment out following option if you have gconf installed
173ac_add_options --disable-gconf
[9831a90]174
[5ef6186]175# If you want to compile the Mozilla Calendar, uncomment this line:
[1ddbf11a]176#ac_add_options --enable-calendar
177
178# Comment out following options if you have not installed
179# recommended dependencies:
[989c203]180ac_add_options --enable-system-sqlite
[1ddbf11a]181ac_add_options --with-system-libevent
182ac_add_options --with-system-nspr
183ac_add_options --with-system-nss
[18310d86]184ac_add_options --with-system-icu
[bbe434b]185<!--Not with libvpx-1.8.0 or later
186ac_add_options - -with-system-libvpx
187====
188These do not seem to be needed any more
[0639bb6]189# Set CFLAGS and CXXFLAGS to prevent segfaults due to aggressive
[63ab44e]190# optimizations in GCC-6:
191export CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
192export CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
[83d02fc6]193-->
[36bcb4c0]194# The elf-hack causes failed builds on clang-9.0.1 with some CFLAGS including
195# -march=native on Ryzen. It is supposed to improve startup time and it shrinks
196# libxul.so by a few MB - Uncomment this if your build is affected.
197#ac_add_options --disable-elf-hack
198
[7251b1d]199# The BLFS editors recommend not changing anything below this line:
[1ddbf11a]200ac_add_options --prefix=/usr
[307a22f]201ac_add_options --enable-application=comm/mail
[5ef6186]202
[5f5dcc2]203ac_add_options --disable-crashreporter
204ac_add_options --disable-updater
[1ddbf11a]205ac_add_options --disable-debug
206ac_add_options --disable-tests
207
[83d02fc6]208ac_add_options --enable-optimize=-O2
[1ddbf11a]209ac_add_options --enable-strip
210ac_add_options --enable-install-strip
211
[f207d239]212ac_add_options --enable-official-branding
[1ddbf11a]213
[b9b1a372]214ac_add_options --enable-system-ffi
[1ddbf11a]215ac_add_options --enable-system-pixman
216
217ac_add_options --with-system-bz2
[a0ace670]218ac_add_options --with-system-jpeg
219ac_add_options --with-system-png
[e67830f1]220ac_add_options --with-system-zlib</literal>
[adb388a]221EOF</userinput></screen>
[e67830f1]222
[d41c02b]223 <para>
224 Compile <application>Thunderbird</application> by issuing the following
225 commands:
226 </para>
[adb388a]227
[279b5f38]228 <note><para>
229 If you are compiling <application>Thunderbird</application> in chroot,
[4f9e45d9]230 prepend <envar>SHELL=/bin/sh</envar> to the build command below.
[279b5f38]231 </para></note>
[bbc99ad]232<!--
[6b8a3b33]233 <para>
[f03e2e6c]234 First, disable failure caused by undocumented rust macros:
[6b8a3b33]235 </para>
236
[67e087d2]237<screen><userinput remap="pre">sed -i -e '/#!\[deny(missing_docs)\]/d' servo/components/style/lib.rs &amp;&amp;
238sed -i -e 's/#!\[deny(unsafe_code, missing_docs)\]/#!\[deny(unsafe_code)\]/g' servo/components/style_traits/lib.rs</userinput></screen>
[6b8a3b33]239
[f03e2e6c]240 <para>
241 Remove a function definition, which is incompatible with the one in
242 glibc-2.30:
243 </para>
244
245<screen><userinput>sed -i -e '/pid_t gettid/s@^@//@' tools/profiler/core/platform.h</userinput></screen>
246
[67e087d2]247 <para>
248 Next, build the package:
249 </para>
[bbc99ad]250-->
[67e087d2]251<screen><userinput>./mach build</userinput></screen>
[99a80f7]252
[1ddbf11a]253 <para>
254 This package does not come with a test suite.
255 </para>
[bc6cf88]256
[d41c02b]257 <para>
258 Install <application>Thunderbird</application> by running the following
259 commands as the <systemitem class="username">root</systemitem> user:
260 </para>
[99a80f7]261
[307a22f]262<screen role="root"><userinput>./mach install</userinput></screen>
[5246cff]263
[0277210]264<!-- thunderbuild directory does not exist anymore. Leaving as comment,
265in case an editor figures out how to install the development environment.
[de930747]266 <para>
[0ccfdd3a]267 The above instruction just installs the parts you need to run
[de930747]268 <application>Thunderbird</application>. Alternatively, if you want to
269 install the full <application>Thunderbird</application> development
[1ddbf11a]270 environment, run the following command as the
271 <systemitem class="username">root</systemitem> user:
[de930747]272 </para>
273
274<screen role="root"><userinput>make -C thunderbuild install</userinput></screen>
[0277210]275-->
[dfff7ace]276 </sect2>
277
278 <sect2 role="commands">
279 <title>Command Explanations</title>
[4def8b6]280<!-- might be necessary
281 <para>
282 <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>: On this
283 version of thunderbird, an old bug has reappeared in 32-bit builds. With
284 optimization, the install fails with a Python error. This command will
285 fix i686 builds and preserve the optimization on x86_64.
[30339015]286 </para>
[66370fc]287
[92dd66f]288 <para>
289 <command>export CFLAGS= ... export CXXFLAGS= ...</command>: These
290 settings work around code which gcc6 would otherwise regard as
291 out-of-specification and allow it to produce a working program.
[30339015]292 </para>-->
[773ef6d]293
[d41c02b]294 <para>
[4f4ed69b]295 <command>./mach build</command>: <application>Thunderbird</application>
[307a22f]296 now uses this <application>python2</application> script to run the
297 build and install.
298 </para>
299
300 <para>
301 <option>./mach build --verbose</option>: Use this alternative if you
302 need details of which files are being compiled, together with any C or
303 C++ flags being used.
[d41c02b]304 </para>
305
[b0ddfae5]306 </sect2>
307
308 <sect2 role="configuration">
309 <title>Configuring Thunderbird</title>
310
311 <sect3><title>Configuration Information</title>
312
[d41c02b]313 <para>
314 If your Window or Desktop Manager does not allow you to configure a
315 default browser, you can add a configuration parameter to
316 <application>Thunderbird</application> so that a browser will start when
317 when you click on an Internet/intranet/local URL. The procedure to check
318 or modify any of the configuration parameters is quite simple and the
319 instructions here can be used to view or modify any of the parameters.
320 </para>
321
322 <para>
323 First, open the configuration dialog by opening the <quote>Edit</quote>
324 drop-down menu. Choose <quote>Preferences</quote> and then click on the
325 <quote>Advanced</quote> icon on the top menu bar. Choose the
326 <quote>General</quote> tab and click on the <quote>Config Editor</quote>
327 button. This will display a list of the configuration preferences and
328 information related to each one. You can use the <quote>Filter:</quote>
329 bar to enter search criteria and narrow down the listed items. Changing
330 a preference can be done using two methods. One, if the preference has a
331 boolean value (True/False), simply double-click on the preference to
332 toggle the value and two, for other preferences simply right-click on
333 the desired line, choose <quote>Modify</quote> from the menu and change
334 the value. Creating new preference items is accomplished in the same
335 way, except choose <quote>New</quote> from the menu and provide the
336 desired data into the fields when prompted.
337 </para>
338
339 <para>
340 The configuration preference item you need to check so that
341 <application>Thunderbird</application> uses a specified browser is the
342 <parameter>network.protocol-handler.app.http</parameter> which should be
343 set to the path of the desired browser, e.g.
344 <option>/usr/bin/firefox</option>.
345 </para>
[adb388a]346
[604ba3d8]347 <tip>
348 <para>
349 There is a multitude of configuration parameters you can tweak to
350 customize <application>Thunderbird</application>. A very extensive,
351 but not so up-to-date list of these parameters can be found at
352 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
353 </para>
354 </tip>
[ff749e38]355
[d41c02b]356 <para>
[000d5dc]357
358 If you use a desktop environment such as <application>GNOME</application>
359 or <application>KDE</application>, a desktop file
360 <filename>thunderbird.desktop</filename> may be created, in order to
361 include a <quote><application>Thunderbird</application></quote> entry in
362 the menu. If you didn't enable
363 <application>startup-notification</application> in your mozconfig, then
364 change the StartupNotify line to false. Run the following commands as the
365 <systemitem class="username">root</systemitem> user:
366
[d41c02b]367 </para>
[ff749e38]368
[4def8b6]369<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
[0e37869]370
[c099902d]371cat &gt; /usr/share/applications/thunderbird.desktop &lt;&lt; "EOF" &amp;&amp;
[fcd66369]372<literal>[Desktop Entry]
[1ddbf11a]373Name=Thunderbird Mail
374Comment=Send and receive mail with Thunderbird
375GenericName=Mail Client
376Exec=thunderbird %u
377Terminal=false
[ff749e38]378Type=Application
379Icon=thunderbird
[8427861]380Categories=Network;Email;
[1ddbf11a]381MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
[fcd66369]382StartupNotify=true</literal>
[ff749e38]383EOF
[0e37869]384
[e3f35536]385ln -sfv /usr/lib/thunderbird/chrome/icons/default/default256.png \
[1ddbf11a]386 /usr/share/pixmaps/thunderbird.png</userinput></screen>
[b0ddfae5]387 </sect3>
[1c5e617]388 </sect2>
389
390 <sect2 role="content">
391 <title>Contents</title>
392
393 <segmentedlist>
[c3c56b2]394 <segtitle>Installed Program</segtitle>
395 <segtitle>Installed Libraries</segtitle>
396 <segtitle>Installed Directory</segtitle>
[1c5e617]397
398 <seglistitem>
[d41c02b]399 <seg>
[1ddbf11a]400 thunderbird
401 </seg>
[c3c56b2]402 <seg>
[1c984ec]403 libldap60.so, libldif60.so, liblgpllibs.so, libmozgtk.so,
[30339015]404 libmozsandbox.so, libprldap60.so, and libxul.so
[c3c56b2]405 </seg>
[1ddbf11a]406 <seg>
[e3f35536]407 /usr/lib/thunderbird
[1c5e617]408 </seg>
409 </seglistitem>
410 </segmentedlist>
411
412 <variablelist>
413 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
414 <?dbfo list-presentation="list"?>
415 <?dbhtml list-presentation="table"?>
416
417 <varlistentry id="thunderbird-prog">
418 <term><command>thunderbird</command></term>
419 <listitem>
[d41c02b]420 <para>
[de930747]421 is <application>Mozilla</application>'s email and newsgroup client.
[d41c02b]422 </para>
[1c5e617]423 <indexterm zone="thunderbird thunderbird-prog">
424 <primary sortas="b-thunderbird">thunderbird</primary>
425 </indexterm>
426 </listitem>
427 </varlistentry>
[1ddbf11a]428
[1c5e617]429 </variablelist>
[1ddbf11a]430
[1c5e617]431 </sect2>
[1ddbf11a]432
[167dc1dc]433</sect1>
Note: See TracBrowser for help on using the repository browser.