wiki:firefox

Version 57 (modified by ken@…, 5 years ago) ( diff )

--

Firefox

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

[Settings]
gtk-theme-name=Adwaita

Any other settings in that file are probably ok.

Profiles

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 75.0beta.

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/libevbrowserplugin.so

That purports to offer support for inter-alia tiff files, ps files, pdfs, comic book - but it will never work. See [​https://bugzilla.mozilla.org/show_bug.cgi?id=1092126 ] : 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.3 should work, but using the latest is considered safer. 3.44.3 is a recent update to 3.44 released on 19th November 2019, 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.39.0 and 1.42.0, 1.37.0 probably also works.

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

Dependencies for the latest release (these details are for 75.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!)

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.

Very little change to dependencies since 72.0, the harfbuzz patch for 72.0 applies.

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

cbindgen-0.13.1

The parts of the patch for system graphite2 have been dropepd, changes at mozilla mean that some of their new code only compiles if the shipped graphite2 is built. The updated patch for firefox-72.0 with system harfbuzz 2.6.4 continues to apply.

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

nspr-4.25

nss-3.50

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.

The option for system sqlite has been removed

Dependencies for 76.0beta

(to be determined)

The included icu is now 66.1, although it still tests for >= 64.1. In the past, using older versions which passed the test has caused build failures.

nss now needs to be at least 3.51.1. A vanilla (unpatched) build of 76.0b1 works, but the build times seem to be getting longer and longer.

I've now tested 76.0b2 - the harfbuzz from 72.0 still applies, but looking at the logs I do not see any difference between the builds without and with the patch in the gfx/harfbuzz code. I'm not sure when I last checked logs like this, but it semes that the patch is no longer useful.

Up
Top

Note: See TracWiki for help on using the wiki.