= Firefox = == WideVine plugin and glibc-2.31 == If you use Spotify, Netflix, Amazon Prime (for music or video, I guess) or Tidal there is a crash with firefox-68.5.0esr. This should be fixed in 68.6.0esr. In the meantime, the 73.0.1 point release should fix this, but you'll need to update rustc (see comments below on building firefox-73), and 73 will probably also require a new profile. == 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). If you wish to use multiple profiles (or to be able to rename 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 is moving 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 works and has been tested. sqlite >= 3.28.0 should work, but you are recommended to use the latest version. == Dependencies for the latest release (these details are for 73.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.'' Very little change to dependencies since 72.0, the harfbuzz patch for 72.0 applies. For firefox-73.0, the following need to be at least the specified versions: cbindgen-0.12.0 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. If using the updated patch for system harfbuzz, harfbuzz needs to be >= 2.6.4. nspr-4.24 nss-3.49.2 rustc-1.39.0 (newer releases should be ok for firefox, tested with rustc-1.40.0) sqlite-3.30.1 == Dependencies for 74.0beta == The patch for system harfbuzz from 72.0 still applies. cbindgen now 0.13.0 nspr now 4.25 nss now 3.50 sqlite now 3.31.0 Please note that although there have been some more changes for python3, trying to build without python2 (with python pointing to python3) fails quickling in the configure scripts. [wiki:GraphicalWebBrowsers Up][[br]] [wiki:BlfsNotes Top]