Changeset 326f830


Ignore:
Timestamp:
01/24/2018 01:54:48 AM (6 years ago)
Author:
Ken Moffat <ken@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, lazarus, lxqt, perl-modules, 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
Children:
13df334
Parents:
a37cebb
Message:

Firefox-58.0 and rustc-1.22.1. Firefox now sometimes needs libnotify to report success during the install (I managed some installs without that being present, others barfed at the end). This version of firefox has felt like 'In the beginning was the plan, ... and the darkness was upon the face of the workers ...' I hope it will be less painful for anybody using it.

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

Files:
4 edited

Legend:

Unmodified
Added
Removed
  • general/prog/rust.xml

    ra37cebb r326f830  
    77  <!ENTITY rust-download-http "https://static.rust-lang.org/dist/rustc-&rust-version;-src.tar.gz">
    88  <!ENTITY rust-download-ftp  " ">
    9   <!ENTITY rust-md5sum        "75e779670ac79edf023497a9c37eb35d">
    10   <!ENTITY rust-size          "48 MB">
    11   <!ENTITY rust-buildsize     "4.2 GB (362 MB installed), (add 0.6GB for tests) plus 273MB for ~/.cargo files">
    12   <!ENTITY rust-time          "33 SBU (add 14 SBU for tests, both with 4 processors)">
     9  <!ENTITY rust-md5sum        "7272ddba14f512e6d2612ef60460bed8">
     10  <!ENTITY rust-size          "53 MB">
     11  <!ENTITY rust-buildsize     "4.1 GB (437 MB installed), (add 1.2GB for tests) including 226MB of ~/.cargo files for both the builder and root (from the install)">
     12  <!ENTITY rust-time          "48 SBU (add 12 SBU for tests, both with 4 processors)"> 
    1313]>
    1414
     
    5454    </para>
    5555
     56    <note>
     57      <para>
     58        Repeated builds of this package on the same machine show a wide range
     59        of build times. Some of this might be due to variations in downloading
     60        the required cargo files if they are not already present, but this does
     61        not seem to adequately explain the variations. Also, both the builder
     62        and the user running the install will need to download the cargo crates
     63        if they are not already present in <filename>~/.cargo</filename>.
     64      </para>
     65      <para>
     66        If you use a DESTDIR method to install, you will only need to download
     67        the crates once, for the build, saving about one-third of the build and
     68        install time (but using extra space for the install). Similarly if you
     69        were to build as root, or if your user is allowed to run <command>sudo
     70        ./x.py install</command> - but those methods are dangerous.
     71      </para>
     72    </note>
     73
    5674    &lfs81_checked;
    5775
     
    96114      <xref linkend="curl"/>,
    97115      <xref linkend="cmake"/>,
     116<!-- if changing this to use python3, also add python2 as a required
     117 dependency for firefox, because at the moment it picks that up from here -->
    98118      <xref linkend="python2"/>
    99119    </para>
     
    127147
    128148<screen><userinput>cat &lt;&lt;EOF &gt; config.toml
    129 # see src/bootstrap/config.toml.example for more possible options
     149# see config.toml.example for more possible options
    130150[llvm]
    131151targets = "X86"
     
    137157[install]
    138158prefix = "/usr"
    139 docdir = "share/doc/rustc-1.19.0"
     159docdir = "share/doc/rustc-&rust-version;"
     160
     161[rust]
    140162channel = "stable"
     163rpath = false
    141164EOF</userinput></screen>
    142165
     
    156179      compile for the thumbv6m-none-eabi target, but the BLFS build does not cater for
    157180      that, and all 105 tests in debuginfo-gdb will fail if
    158       <application>gdb</application> has not been installed.
     181      <application>gdb</application> has not been installed. Several other tests in
     182      run-make can also fail.
    159183    </para>
    160184
     
    167191
    168192    <para>
    169       That should report 14029 tests. Similarly, the total tests which failed can
     193      That should report 14854 tests. Similarly, the total tests which failed can
    170194      be found by running:
    171195    </para>
     
    205229
    206230    <para>
     231      <command>rpath = false</command>: by default, <command>rust</command> can
     232      be run from where it was built, without being installed. That adds DT_RPATH
     233      entries to all of the ELF files, which produces very messy output from
     234      <command>ldd</command>, showing the libraries in the place they were built,
     235      even if they have been deleted from there after the install.
     236    </para>
     237
     238    <para>
    207239      <command>--verbose</command>: this switch can sometimes provide more
    208240      information about a test which fails.
     
    212244      <command>--no-fail-fast</command>: this switch ensures that the testsuite
    213245      will not stop at the first error.
     246    </para>
     247
     248    <para>
     249      <option>PYTHON=/usr/bin/python3 ... tee buildlog</option>: Because rust
     250      can use <application>Python3</application> which was installed in LFS,
     251      this command tells it to use that instead of the deprecated
     252      <application>Python2</application>. For the moment this should be regarded
     253      as experimental and problems may be encountered. Because
     254      <application>rust</application> will use all CPUs, if an error happened the
     255      message may have scrolled out of the terminal's buffer. Logging makes it
     256      possible to find out what was reported.
    214257    </para>
    215258
     
    226269      <seglistitem>
    227270        <seg>
    228           cargo, rust-gdb, rust-lldb, rustc, rustdoc.
     271          cargo, rls, rust-gdb, rust-lldb, rustc, rustdoc.
    229272        </seg>
    230273        <seg>
     
    257300      </varlistentry>
    258301
     302      <varlistentry id="rls">
     303        <term><command>rls</command></term>
     304        <listitem>
     305          <para>
     306            is the Rust Language Server. This can run in the background to
     307            provide IDEs, editors, and other tools with information about Rust
     308            programs.
     309          </para>
     310          <indexterm zone="rust rls">
     311            <primary sortas="b-rls">rls</primary>
     312          </indexterm>
     313        </listitem>
     314      </varlistentry>
     315
    259316      <varlistentry id="rust-gdb">
    260317        <term><command>rust-gdb</command></term>
  • introduction/welcome/changelog.xml

    ra37cebb r326f830  
    4545      <para>January 23rd, 2018</para>
    4646      <itemizedlist>
     47        <listitem>
     48          <para>[ken] - Update to rustc-1.22.1 and firefox-58.0 (which
     49          includes security fixes). Fixes
     50          <ulink url="&blfs-ticket-root;10292">#10292</ulink> and
     51          <ulink url="&blfs-ticket-root;10279">#10279</ulink>. Please note
     52          firefox now has an additional dependency and added Configuration
     53          Information details. Particular thanks to Tim Tassonis, Ryan
     54          Marsaw, and Bruce for their help with this.</para>
     55        </listitem>
    4756        <listitem>
    4857          <para>[bdubbs] - Update to sqlite-3.22.0. Fixes
  • packages.ent

    ra37cebb r326f830  
    333333<!ENTITY ruby-patch-version           "0">
    334334<!ENTITY ruby-version                 "&ruby-minor-version;.&ruby-patch-version;">
    335 <!ENTITY rust-version                 "1.19.0">
     335<!ENTITY rust-version                 "1.22.1">
    336336<!ENTITY scons-version                "3.0.0">
    337337<!ENTITY slang-version                "2.3.1">
     
    729729<!ENTITY chromium-version             "63.0.3239.132">
    730730<!ENTITY epiphany-version             "3.26.5.1">
    731 <!ENTITY firefox-version              "57.0.4">
     731<!ENTITY firefox-version              "58.0">
    732732<!ENTITY flashplayer-version          "27.0.0.187">
    733733<!ENTITY qupzilla-version             "2.2.4">
  • xsoft/graphweb/firefox.xml

    ra37cebb r326f830  
    77  <!ENTITY firefox-download-http "&mozilla-http;/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.xz">
    88  <!ENTITY firefox-download-ftp  " ">
    9   <!ENTITY firefox-md5sum        "18586d62f24671fa15f4a5dd7b19c09c">
    10   <!ENTITY firefox-size          "239 MB">
    11   <!ENTITY firefox-buildsize     "7.2 GB (148 MB installed) without tests">
     9  <!ENTITY firefox-md5sum        "0d5b70d2cf074ed6716b13c3e8d43a18">
     10  <!ENTITY firefox-size          "236 MB">
     11  <!ENTITY firefox-buildsize     "7.4 GB (152 MB installed) without tests">
    1212  <!ENTITY firefox-time          "20 SBU (with parallelism=4) without tests">
    1313]>
     
    7575        The build times for this version of firefox (using stylo, the new CSS
    7676        rendering code) seem to vary widely between different machines. On one
    77         old Intel i3 the build took 33 SBU. The reason for this is not understood.
    78         A build with stylo disabled is typically 1 or 2 SBU quicker and needs
    79         0.8GB less disk space.
     77        old Intel i3 the build took considerably longer. The reason for this is
     78        not understood. A build with stylo disabled is typically 1 or 2 SBU
     79        quicker and needs 0.8GB less disk space.
     80      </para>
     81
     82      <para>
     83        Although upstream prefer to use <application>PulseAudio</application>,
     84        for the moment <application>Alsa</application> can still be used. Both
     85        may need runtime configuration to get sound working.
    8086      </para>
    8187    </note>
     
    123129      both <xref linkend="gtk3"/> and
    124130      <xref linkend="gtk2"/>,
     131      <xref linkend="libnotify"/>,
    125132      <xref linkend="nss"/>,
    126133      <xref linkend="pulseaudio"/>
    127134      (or
    128135      <xref linkend="alsa-lib"/> if you edit the mozconfig;
    129         now deprecated by mozilla),
     136        now deprecated by mozilla), in either case please read the
     137        Configuration Information,
    130138      <xref linkend="rust"/>,
    131139      <xref linkend="unzip"/>,
     
    345353 https://bugzilla.mozilla.org/show_bug.cgi?id=1341234
    346354 which is reported to be fixed in ff58 -->
    347 <screen><userinput>export BINDGEN_CFLAGS=$(pkg-config --cflags nspr pixman-1) &amp;&amp;
    348 make -f client.mk                                          &amp;&amp;
    349 unset BINDGEN_CFLAGS</userinput></screen>
     355<screen><userinput>
     356./mach build
     357</userinput></screen>
    350358
    351359    <para>
     
    364372    </para>
    365373
    366 <screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
    367 chown -R 0:0 /usr/lib/firefox-&firefox-version;   &amp;&amp;
    368 
    369 mkdir -pv    /usr/lib/mozilla/plugins  &amp;&amp;
    370 ln    -sfv   ../../mozilla/plugins /usr/lib/firefox-&firefox-version;/browser</userinput></screen>
     374<screen role="root"><userinput>./mach install                                                  &amp;&amp;
     375
     376mkdir -pv  /usr/lib/mozilla/plugins                             &amp;&amp;
     377ln    -sfv ../../mozilla/plugins /usr/lib/firefox-&firefox-version;/browser</userinput></screen>
    371378<!--
    372379    <para>
     
    385392
    386393    <para>
    387       <command>export BINDGEN_CFLAGS=$(pkg-config --cflags nspr pixman-1)</command>:
    388       This works around a bug in the style rust package to allow it to find the
    389       system headers for <package>nspr</package> and <package>pixman</package>.
    390     </para>
    391 
    392     <para>
    393       <command>make -f client.mk ...</command>: Mozilla products are packaged to
    394       allow the use of a configuration file which can be used to pass the
    395       configuration settings to the <command>configure</command> command.
    396       <command>make</command> uses the <filename>client.mk</filename> file to
    397       get initial configuration and setup parameters.
     394      <command>./mach build</command>: <application>Firefox</application>
     395      now uses this <application>python2</application> script to run the
     396      build and install.
     397    </para>
     398
     399    <para>
     400      <option>./mach build --verbose</option>: Use this alternative if you
     401      need details of which files are being compiled, together with any C or
     402      C++ flags being used.
    398403    </para>
    399404
     
    449454        /usr/share/pixmaps/firefox.png</userinput></screen>
    450455
     456    <sect3><title>Configuration Information</title>
     457
     458      <para>
     459        The application settings for firefox are accessible by keying
     460        <command>about:config</command> in the address bar.
     461      </para>
     462
     463      <para>
     464        With this version of <application>firefox</application>, getting
     465        working sound can be a problem.  Although upstream prefers pulseaudio,
     466        on balance using <application>Alsa</application> may be easier.
     467      </para>
     468
     469      <para>
     470        If you enabled <application>Alsa</application> for sound, you may need
     471        to alter one variable to get working sound. If you run
     472        <command>firefox</command> from a term and try to play something with
     473        sound you might encounter error messages like:
     474      </para>
     475
     476      <para>
     477         <literal>Sandbox: seccomp sandbox violation: pid 3941, tid 4030,
     478         syscall 16, args 48 2147767296 139909894784796 0 0 0.</literal>
     479      </para>
     480
     481      <para>
     482        That was on x86_64, on i686 the syscall number is 54. To allow this
     483        syscall, in <command>about:config</command> change
     484        <command>security.sandbox.content.syscall_whitelist</command> to 16
     485        (or 54 if using i686).
     486      </para>
     487
     488      <para>
     489        If you use <command>pulseaudio</command> in a Desktop Environment, it
     490        might already be started by that DE.  But if it is not, although
     491        firefox-57 managed to start it, firefox-58 does not.  If you run
     492        <command>firefox</command> from a term, trying to play sound will
     493        encounter error messages warning <literal>Can't get cubeb
     494        context!</literal>
     495      </para>
     496
     497    <para>
     498      The fix for this is to close firefox, start pulseaudio to check it
     499      does start (if not, read the information on Configuring in <xref
     500      linkend="pulseaudio"/>) and restart firefox to check it is working.
     501      If it now works, add the following to your <filename>~/.xinitrc</filename>:
     502<phrase revision="sysv">
     503<literal>pulseaudio --verbose --log-target=syslog&amp;</literal></phrase>
     504<phrase revision="systemd">
     505<literal>pulseaudio --verbose --log-target=journald&amp;</literal></phrase>
     506        (unfortunately, on some systems this does not work).
     507      </para>
     508
     509      <para>
     510        You may wish to use multiple profiles within firefox. To do that, invoke
     511        firefox as <command>firefox --ProfileManager</command>. You can also
     512        check which profile is currently in use from
     513        <command>about:profiles</command>.
     514      </para>
     515
     516    </sect3>
    451517  </sect2>
    452518
Note: See TracChangeset for help on using the changeset viewer.