Version 64 (modified by ken@…, 4 years ago) ( diff )



WideVine plugin and glibc-2.31

If you use Spotify, Netflix, Amazon Prime (for music or video, I guess) or Tidal there was a crash with firefox-68.5.0esr. This should be fixed in 68.6.0esr.

Certificate Problems

With some sites, particularly sourceforge, from time to time firefox will report certificate problems and refuse to connect. The last time this happened to me was after the machine had crashed and rebooted. Before that it was working fine, no software in the trust/certs area had been updated. In about:config, changing security.pki.distrust_ca_policy to 0 fixed this.

Note for people using package management

Up until firefox-58, the libraries were installed in /usr/lib/firefox-NN.0{,.N}. But with firefox-59 they are now installed in /usr/lib/firefox. This might impact you when you upgrade after 59 (some package managers might gripe about overwriting existing files).

Building with gtk+-3

(ken: deleted my old comments, gtk3 is now the default and since at least ff44 it has been fine, except that gtk > 3.19 has required a patch to restore scrollbars - the patches have been in the book)

Broken scrollbars with gtk+-3 in BLFS-7.10

On some machines, the gtk3 scrollbars (thin, slider with curved ends) were replaced by gtk2-style bars with arrows at their end which could be clicked, but without any button on the slider - it could still be dragged, but there was no visual indication of where you were in the page.

This was eventually identified as a theme problem - e.g. xfce-winter is now inadequate. A workaround is to install gnome-themes-standard and to edit ~/.config/gtk-3.0/settings.ini to contain


Any other settings in that file are probably ok.


Firefox has a nasty habit of requiring a new profile every few releases. I say this is nasty because logins, current tabs, plugins (even if still supported) and perhaps bookmarks can be lost. In addition, it tends to name the profiles default, then default.default when it creates another. This can also apply when downgrading the version (e.g. going from 69.0 to 68.2.0esr). 73.0 required a new profile, that profile continues to work in 77.0

If you wish to use multiple profiles (or to be able to rename or delete old profiles), open firefox with 'firefox -P'.

You can also tell firefox to use a profile which it warns is old, either by invoking it from a term in xorg using 'MOZ_ALLOW_DOWNGRADE=1 firefox' or by invoking it as 'firefox --allow-downgrade'. The latter invocation has been troublesome in the past but appears to work with 68.2.0 and can be used from a desktop 'launcher'.

evince plugin (gtk3 builds)

If you build evince, it creates /usr/lib/mozilla/plugins/

That purports to offer support for inter-alia tiff files, ps files, pdfs, comic book - but it will never work. See [​ ] : best to remove that plugin.

Which version should I use ?

In general, BLFS tries to always use latest releases. For firefox up to and including 69.0 the latest version has normally been used, except that for certain point versions such as 69.0.2 the change has seemed not relevant (consult the tickets for more details). But in late 2019 mozilla decided to move to a more-frequent release schedule (eventually 4 weeks instead of 6 or 7 weeks).

Also, newer versions tend to need newer versions of rust, but this can cause problems with other packages which use rust. In particular, thunderbird releases are based on the firefox esr (extended support releases) code and tend to have code which does not build with the latest of rust.

There are only a few packages in BLFS which use rust and the editors aim to ensure that all the versions in the book can be built with the same version of rust.

As a result, after firefox-69 the book has moved to the esr versions of firefox which are technically a downgrade (see details about profiles above), but contain all the relevant security fixes. Based on past experience, some recent security fixes have been for new items which did not exist in the esr version. Therefore, using esr is expected to require slightly fewer updates.

You should always use the latest release, either the latest esr or the latest mainline version. And you should remember to update your ca-certificates when building a new version of firefox.

Dependencies for 68-ESR

Although the book is tested with its latest versions of the dependencies' it should be possible to use older versions of some packages:

cbindgen >= 0.8.7 should work

harfbuzz >= 2.4.0 (if using the patch for system harfbuzz) should work.

libwebp >= 1.02 should work

nss versions >= 3.44.4 are tested for, but using the latest is considered safer. 3.44.4 is a recent update to 3.44 released on 20th May 2020 (as was nss-3.52.1), Any versions released before that date should not be used, even if the configure tests pass

rustc-1.35.0 worked in past 68-esr releases, but is no longer tested. Tested with 1.37.0 and 1.42.0, 1.39.0 probably also works.

sqlite >= 3.28.0 should work, but you are recommended to use the latest version.

Changes after 68-esr up to the next esr (apart from changed minimum versions)

The patch for system graphite2 and system harfbuzz is no longer useful: The shipped graphite2 was changed in ff72, and for a little while a revised harfbuzz patch worked. But on reviewing the build in 76beta it became clear that the patch was not effective (harfbuzz code was still being compiled).

System sqlite can no-longer be used. Many years ago, having the shipped sqlite in the browser but with system sqlite used by other packages was reported to cause problems. So far, things now seem ok.

Importantly, after ff70 ./mach install no longer accepts '--verbose' and errors if it is used.

A profile which was created for 73.0 seems to work ok.

Dependencies for the latest release (these details are for 77.0)

This is an attempt to help people who want to keep using the latest upstream release, and will be updated from time to time. It is also a store of important changes which will need to be addressed when the book moves to the next ESR version which is expected to be the 78 series in June to August 2020 (depending on when thunderbird is ready!)

For firefox-77.0, the following need to be at least the specified versions:


libwebp has been updated to 1.1.0, I do not think the version is tested if using system version, but I guess the system version should be at least this version.

node-js now 10.19



rustc-1.41.0 or later, but 1.41.0 is buggy (unsafe) and 1.42.0 needs llvm-10.0 (as in the current svn book) if system llvm is to be used.

Dependencies for 78.0beta

Various options were removed from old-configure. Some (such as system nss,nspr, zlib) are definitely still accepted, but the following are no longer accepted: --enable-startup-notification and --with-system-bz2. The options for --enable-strip and --enable-install-strip are among those removed from old-configure, it is possible that the options to disable-these might no-longer work.

As of 78.0b4 this builds (and works) using gcc/g++, tested with 9.3.0 and 10.1.0.

As of 78.0b8 the nss requirement has been upgraded from 3.53 to 3.53.1


Note: See TracWiki for help on using the wiki.