Changeset bf5fb94


Ignore:
Timestamp:
10/26/2020 09:44:17 PM (2 years ago)
Author:
Ken Moffat <ken@…>
Branches:
10.1, 11.0, 11.1, 11.2, lazarus, plabs/python-mods, qt5new, trunk, upgradedb, xry111/intltool, xry111/soup3, xry111/test-20220226
Children:
6fe9b0b
Parents:
a2e21ee
Message:

Update to llvm-11.0.0 and rustc-1.47.0.

Patch firefox and thunderbird for this version of rust.
Remeasure all packages which use rust -
I think I used an out of date mozconfig when I updated thunderbird.
In general, builds are slower and slightly larger, but installs are marginally smaller.

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

Files:
10 edited

Legend:

Unmodified
Added
Removed
  • general/genlib/js78.xml

    ra2e21ee rbf5fb94  
    1111  <!ENTITY js78-md5sum        "a1c8027c67d606bce0cc130a792432c0">
    1212  <!ENTITY js78-size          "316 MB">
    13   <!ENTITY js78-buildsize     "2.9 GB (36 MB installed after removing 35MB static lib)">
    14   <!ENTITY js78-time          "2.4 SBU (with parallelism = 4)">
     13  <!ENTITY js78-buildsize     "3.0 GB (36 MB installed after removing 35MB static lib)">
     14  <!ENTITY js78-time          "2.5 SBU (with parallelism = 4)">
    1515]>
    1616
  • general/prog/cbindgen.xml

    ra2e21ee rbf5fb94  
    99  <!ENTITY cbindgen-md5sum        "396f97c1d79ee5307611e7d586b4b011">
    1010  <!ENTITY cbindgen-size          "188 KB">
    11   <!ENTITY cbindgen-buildsize     "100 MB (add 509 MB for tests)">
    12   <!ENTITY cbindgen-time          "0.7 SBU (add 0.4 SBU for tests)">
     11  <!ENTITY cbindgen-buildsize     "122 MB (add 446 MB for tests)">
     12  <!ENTITY cbindgen-time          "0.8 SBU (add 0.5 SBU for tests)">
    1313]>
    1414
  • general/prog/llvm.xml

    ra2e21ee rbf5fb94  
    99  <!ENTITY llvm-download-http "&llvm-url;/llvm-&llvm-version;.src.tar.xz">
    1010  <!ENTITY llvm-download-ftp  " ">
    11   <!ENTITY llvm-md5sum        "71c68c526cbbf1674b5aafc5542b336c">
    12   <!ENTITY llvm-size          "34 MB">
    13   <!ENTITY llvm-buildsize     "2.8 GB (659 MB installed, add 16 GB for tests)">
    14   <!ENTITY llvm-time          "30 SBU (with parallelism=4, add 15 SBU for tests)">
     11  <!ENTITY llvm-md5sum        "85844102335b2e01b3c64b6734fb56f2">
     12  <!ENTITY llvm-size          "38 MB">
     13  <!ENTITY llvm-buildsize     "3.1 GB (726 MB installed, add 17 GB for tests)">
     14  <!ENTITY llvm-time          "37 SBU (with parallelism=4, add 12 SBU for tests)">
    1515
    1616  <!ENTITY clang-download-http "&llvm-url;/clang-&llvm-version;.src.tar.xz">
    17   <!ENTITY clang-md5sum        "6c8b56f531876fd24e06257a2d8ce422">
    18   <!ENTITY clang-size          "14 MB">
     17  <!ENTITY clang-md5sum        "d8fbc5b1d27f44922cfbbf199d0bab78">
     18  <!ENTITY clang-size          "15 MB">
    1919
    2020  <!ENTITY compiler-rt-download-http "&llvm-url;/compiler-rt-&llvm-version;.src.tar.xz">
    21   <!ENTITY compiler-rt-md5sum        "970835d14e9c08a68c4b2ff3931bada7">
    22   <!ENTITY compiler-rt-size          "2.0 MB">
     21  <!ENTITY compiler-rt-md5sum        "182511f9ba2c83b9d3c934501d48bee9">
     22  <!ENTITY compiler-rt-size          "2.1 MB">
    2323]>
    2424
     
    163163      <xref linkend="graphviz"/>,
    164164      <xref linkend="libxml2"/>,
    165       <xref linkend="python2"/>,
    166165      <xref linkend="rsync"/> (for tests),
    167166      <xref linkend="texlive"/> (or <xref linkend="tl-installer"/>),
     
    199198<screen><userinput>tar -xf ../compiler-rt-&llvm-version;.src.tar.xz -C projects &amp;&amp;
    200199mv projects/compiler-rt-&llvm-version;.src projects/compiler-rt</userinput></screen>
     200
     201    <para>
     202     There are many Python scripts in this package which use
     203     <command>/usr/bin/env python</command> to access the system Python
     204     which on LFS is <xref linkend="python3"/>. Use the following comand
     205     to fix these scripts:
     206    </para>
     207
     208<screen><userinput>grep -rl '#!.*python' | xargs sed -i '1s/python$/python3/'</userinput></screen>
    201209
    202210    <para>
     
    227235    </para>
    228236
    229 <screen remap="doc"><userinput>cmake -DLLVM_ENABLE_SPHINX=ON         \
     237<screen remap="doc"><userinput>cmake -DLLVM_BUILD_DOCS=ON            \
     238      -DLLVM_ENABLE_SPHINX=ON         \
    230239      -DSPHINX_WARNINGS_AS_ERRORS=OFF \
    231240      -Wno-dev -G Ninja ..            &amp;&amp;
     
    250259      by the <systemitem class="username">root</systemitem> user and makes them
    251260      temporarily unusable by all jobs on the machine.)
    252       Note that the Sanitizer based tests (6 of more than 41000 tests run)
    253       are known to fail.
    254 
     261      Note that a few of the compiler-rt Sanitizer based tests (6 of more than 48000
     262      tests run) are known to fail.
    255263    </para>
    256264
     
    360368          bugpoint, c-index-test, clang, clang++ (symlinks to
    361369          clang-&lt;version&gt;), clang-&lt;version&gt;, clang-check, clang-cl,
    362           clang-cpp (last two symlinks to clang), clang-format, clang-extdef-mapping,
    363           clang-import-test, clang-offload-bundler, clang-offload-wrapper,
     370          clang-cpp (last two symlinks to clang), clang-extdef-mapping, clang-format,
     371          clang-offload-bundler, clang-offload-wrapper,
    364372          clang-refactor, clang-rename, clang-scan-deps,
    365373          diagtool, dsymutil, git-clang-format, hmap-tool, llc, lli,
     
    368376          llvm-cxxdump, llvm-cxxfilt, llvm-cxxmap,
    369377          llvm-diff, llvm-dis, llvm-dlltool (symlink to llvm-ar), llvm-dwarfdump,
    370           llvm-dwp, llvm-elfabi, llvm-exegenesis, llvm-extract, llvm-ifs,
     378          llvm-dwp, llvm-elfabi, llvm-exegenesis, llvm-extract, llvm-gsymutil, llvm-ifs,
    371379          llvm-install-name-tool (symlink to llvm-objcopy), llvm-jitlink,
    372380          llvm-lib (symlink to llvm-ar), llvm-link, llvm-lipo, llvm-lto,
     
    875883      </varlistentry>
    876884
     885      <varlistentry id="llvm-gsymutil">
     886        <term><command>llvm-gsymutil</command></term>
     887        <listitem>
     888          <para>
     889            is used to process GSYM Symbolication Format files which
     890            convert memory addresses to function name and source file
     891            line. These files are smaller than DWARF or Breakpad files.
     892          </para>
     893          <indexterm zone="llvm llvm-gsymutil">
     894            <primary sortas="b-llvm-gsymutil">llvm-gsymutil</primary>
     895          </indexterm>
     896        </listitem>
     897      </varlistentry>
     898
    877899      <varlistentry id="llvm-ifs">
    878900        <term><command>llvm-ifs</command></term>
  • general/prog/rust.xml

    ra2e21ee rbf5fb94  
    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        "ff5731326898a7010403e1b148375de4">
    10   <!ENTITY rust-size          "130 MB">
     9  <!ENTITY rust-md5sum        "a460bed79b92f6a7833ba6e6390ee6ae">
     10  <!ENTITY rust-size          "145 MB">
    1111  <!-- Gentle Reminder: buildsize is how much the user requires for the real
    1212       install, i.e. the source with its DESTDIR *plus* the DESTDIR.  You
     
    1515       after the tests. -->
    1616
    17   <!ENTITY rust-buildsize     "5.7 GB (250 MB installed) including 344 MB of ~/.cargo files for the user building this. Add 2.5 GB if running the tests">
    18   <!ENTITY rust-time          "33 SBU (add 17 SBU for tests, both on a 4-core machine)">
     17  <!ENTITY rust-buildsize     "7.6 GB (369 MB installed) including 294 MB of ~/.cargo files for the user building this. Add 3.3 GB if running the tests">
     18  <!ENTITY rust-time          "39 SBU (add 31 SBU for tests, both on a 4-core machine)">
    1919]>
    2020
     
    100100    <para>
    101101      The current <application>rustbuild</application> build-system will use
    102       all available processors, although it does not scale well and often falls
     102      all processors, although it does not scale well and often falls
    103103      back to just using one core while waiting for a library to compile.
    104104      However it can be mostly limited to a specified number of processors by
     
    108108      environment variable <envar>CARGO_BUILD_JOBS=&lt;N&gt;</envar>. At the
    109109      moment this is not effective when some of the rustc tests are run.
     110    </para>
     111
     112    <para>
     113      The current version of rust's num_cpus crate now recognizes that cgroups
     114      can be used to restrict which processors it is allowed to use. So if your
     115      machine lacks DRAM (typically, less than 2GB DRAM per core) that might be
     116      an alternative to taking CPUs offline.
     117      <phrase revision="sysv">In sysv systems cgroups requires <ulink
     118      url="https://sourceforge.net/projects/libcg/">libcgroup</ulink>.</phrase>
     119      <phrase revision="systemd">That can apparently be achievedd by writing
     120      custom unit files.</phrase>
    110121    </para>
    111122
     
    205216    <bridgehead renderas="sect4">Optional</bridgehead>
    206217    <para role="optional">
    207       <xref linkend="gdb"/> (used by the testsuite if it is present) and
    208       <xref linkend="python2"/> (used by the testsuite)
     218      <xref linkend="gdb"/> (used by the testsuite if it is present)
    209219    </para>
    210220
     
    293303
    294304    <para>
     305      Two of the tests reliably fail. To cause them to be ignored run the
     306      following sed command:
     307     </para>
     308
     309<screen><userinput>sed -i '1i # ignore-test' \
     310 src/test/run-make-fulldeps/sysroot-crates-are-unstable/Makefile \
     311 src/test/run-make-fulldeps/long-linker-command-lines/Makefile</userinput></screen>
     312
     313    <para>
    295314      Compile <application>Rust</application> by running the following
    296315      commands:
     
    318337
    319338    <para>
    320       The instructions above do not build ARM compilers, so the testsuite
    321       <emphasis>will</emphasis> fail and the tests will be reported to end in
    322       error, with a backtrace of the last failing test. On a good run, 3 tests
    323       which need Thumb (ARM) compilers will fail, all in <filename
    324       class="directory">ui/issues</filename> for issues 37131, 49851 and 50993.
    325       A fourth test,
    326       <filename>run-make-fulldeps/sysroot-crates-are-unstable</filename>
    327       fails, presumably because we are using only stable features.
    328       <!-- gdb appears to be fixed now
    329       If gdb has been installed, in some circumstances tests in
    330       <filename class="directory">debuginfo</filename> may fail.--> As with all
    331       large testsuites, other tests might
     339      Although no tests are now expected to fail, the testsuite reports that
     340      1 commands did not execute successfully. As with all large testsuites,
     341      some tests might
    332342      fail on some machines - if the number of failures is in the single digits,
    333343      check the log for 'FAILED' and review lines above that, particularly the
     
    339349      If you get any <emphasis>other</emphasis> failing test which reports an
    340350      issue number then you should search for that issue.  For example, when
    341       rustc &gt;= 1.41.1 is built with a version of sysllvm before 10.0 the test
     351      rustc &gt;= 1.41.1 was built with a version of sysllvm before 10.0 the test
    342352      for issue 69225 fails <ulink
    343353      url="https://github.com/rust-lang/rust/issues/69225"/> and that should be
     
    347357
    348358    <para>
    349       Therefore, you should determine the number of failures. The total number
     359      Therefore, you should determine the number of failures.
     360    </para>
     361
     362<!--
     363 The total number
    350364      of tests varies depending on which dependencies are present, e.g. more
    351365      will be run if <command>gdb</command> is available. If you wish, the
     
    353367    </para>
    354368
    355 <screen remap="test"><userinput>egrep 'running [[:digit:]]+ test' rustc-testlog | awk '{ sum += $2 } END { print sum }'</userinput></screen>
    356 
    357     <para>
    358       More importantly, the total of tests which failed can be found by running:
     369<screen remap="test"><userinput>egrep 'running [[:digit:]]+ test' rustc-testlog | awk '{ sum += $2 } END { print sum }'</userinput></screen>-->
     370
     371    <para>
     372      The number of tests which failed can be found by running:
    359373    </para>
    360374
  • introduction/important/building-notes.xml

    ra2e21ee rbf5fb94  
    778778        Whilst gcc has many hardening options, clang/LLVM's strengths lie
    779779        elsewhere. Some options which gcc provides are said to be less effective
    780         in clang/LLVM, others are not available.
     780        in clang/LLVM.
    781781      </para>
    782782
  • introduction/welcome/changelog.xml

    ra2e21ee rbf5fb94  
    4646      <itemizedlist>
    4747        <listitem>
     48          <para>[ken] - Update to rustc-1.47.0 to allow system llvm-11 to be
     49          used. Patch firefox and thunderbird for this. Fixes
     50          <ulink url="&blfs-ticket-root;14142">#14142</ulink>.</para>
     51        </listitem>
     52        <listitem>
     53          <para>[ken] - Update to llvm-11.0.0. Fixes
     54          <ulink url="&blfs-ticket-root;14133">#14133</ulink>.</para>
     55        </listitem>
     56        <listitem>
    4857          <para>[renodr] - Update to Pygments-2.7.2. Fixes
    4958          <ulink url="&blfs-ticket-root;14173">#14173</ulink>.</para>
  • packages.ent

    ra2e21ee rbf5fb94  
    339339<!ENTITY guile-version                "3.0.4">
    340340<!ENTITY librep-version               "0.92.7">
    341 <!ENTITY llvm-majmin-version          "10.0">
    342 <!ENTITY llvm-point-version           "1">
     341<!ENTITY llvm-majmin-version          "11.0">
     342<!ENTITY llvm-point-version           "0">
    343343<!ENTITY llvm-version                 "&llvm-majmin-version;.&llvm-point-version;">
    344344<!ENTITY lua-version                  "5.4.1">
     
    364364<!ENTITY ruby-patch-version           "2">
    365365<!ENTITY ruby-version                 "&ruby-minor-version;.&ruby-patch-version;">
    366 <!ENTITY rust-version                 "1.42.0">
     366<!ENTITY rust-version                 "1.47.0">
    367367<!ENTITY scons-version                "4.0.1">
    368368<!ENTITY slang-version                "2.3.2">
  • xsoft/graphweb/firefox.xml

    ra2e21ee rbf5fb94  
    1111  <!-- NB with stylo, much of the build uses rust, and therefore cargo files.
    1212    But the extra cached cargo files, if any, seem to be minimal -->
    13   <!ENTITY firefox-buildsize     "4.7 GB (184 MB installed) without tests">
     13  <!ENTITY firefox-buildsize     "5.0 GB (181 MB installed) without tests">
    1414  <!-- editors: with ff63 and rust-1.29, ./mach build -j4 is probably the
    1515   most practical way to get a timing on a machine with more cores, if taking
    1616   cores offline is not practical. If in doubt, round up -->
    17   <!ENTITY firefox-time          "29 SBU (on a 4-core machine) without tests">
     17  <!ENTITY firefox-time          "30 SBU (on a 4-core machine) without tests">
    1818]>
    1919
     
    7676    </itemizedlist>
    7777
     78    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
     79    <itemizedlist spacing="compact">
     80      <listitem>
     81        <para>
     82          Required patch:
     83          <ulink url="&patch-root;/firefox-&firefox-version;esr-rustc1470-1.patch"/>
     84        </para>
     85      </listitem>
     86    </itemizedlist>
     87
    7888    <note>
    7989      <para>
     
    346356esac</userinput></screen>
    347357    -->
     358    <para>
     359      Apply a patch to allow this to be compiled with <xref linkend="rust"/>:
     360    </para>
     361
     362<screen><userinput remap="pre">patch -p1 -i ../firefox-&firefox-version;esr-rustc1470-1.patch</userinput></screen>
    348363
    349364    <para>
     
    394409      everywhere. On the X86 architectures <application>clang</application>
    395410      now appears to support most of the same security-hardening options as
    396       <application>GCC</application> but the newer
    397       <literal>-fstack-clash-protection</literal> is still not supported.
     411      <application>GCC</application>.
     412      <!-- supported in llvm-11
     413      but the newer
     414      <literal>-fstack-clash-protection</literal> is still not supported.-->
    398415      With the current versions and the default flags,
    399416      <application>GCC</application> creates a marginally bigger build but
  • xsoft/graphweb/seamonkey.xml

    ra2e21ee rbf5fb94  
    99  <!ENTITY seamonkey-md5sum        "bbf02af3586f1d488e77517f8cd9f439">
    1010  <!ENTITY seamonkey-size          "281 MB">
    11   <!ENTITY seamonkey-buildsize     "6.6 GB (145 MB installed)">
    12   <!ENTITY seamonkey-time          "16 SBU (on a 4-core machine)">
     11  <!ENTITY seamonkey-buildsize     "6.8 GB (145 MB installed)">
     12  <!ENTITY seamonkey-time          "18 SBU (on a 4-core machine)">
    1313]>
    1414
     
    107107      <xref linkend="autoconf213"/>,
    108108      both <xref linkend="gtk2"/> and <xref linkend="gtk3"/>,
     109      <xref linkend="python2"/>,
    109110      <xref linkend="rust"/>,
    110111      <xref linkend="unzip"/>,
  • xsoft/other/thunderbird.xml

    ra2e21ee rbf5fb94  
    99  <!ENTITY thunderbird-md5sum        "8cee1fabb60c00a9913b133309e3e1b7">
    1010  <!ENTITY thunderbird-size          "345 MB">
    11   <!ENTITY thunderbird-buildsize     "5.1 GB (177 MB installed)">
     11  <!ENTITY thunderbird-buildsize     "5.4 GB (170 MB installed)">
    1212  <!ENTITY thunderbird-time          "32 SBU (on a 4-core machine)">
    1313  <!-- Removed the -j1 time because python and rust do not obey it, although
     
    7474    </itemizedlist>
    7575
    76 <!--
    7776    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
    7877    <itemizedlist spacing="compact">
     
    8079        <para>
    8180          Required patch:
    82           <ulink url="&patch-root;/thunderbird-&thunderbird-version;-upstream_fixes-1.patch"/>
     81          <ulink url="&patch-root;/thunderbird-&thunderbird-version;-rustc1470-1.patch"/>
    8382        </para>
    8483      </listitem>
    8584    </itemizedlist>
    86 -->
     85
    8786    <bridgehead renderas="sect3">Thunderbird Dependencies</bridgehead>
    8887
     
    225224EOF</userinput></screen>
    226225
    227 <!--
    228     <para>
    229       First, fix a regression in <application>Thunderbird</application> that
    230       prevents the mail panes and other UI elements from functioning properly:
    231     </para>
    232 
    233 <screen><userinput remap="pre">patch -Np1 -i ../thunderbird-&thunderbird-version;-upstream_fixes-1.patch</userinput></screen>
    234 -->
     226    <para>
     227      Apply a patch to allow this to be compiled with <xref linkend="rust"/>:
     228    </para>
     229
     230<screen><userinput remap="pre">patch -p1 -i ../thunderbird-&thunderbird-version;-rustc1470-1.patch</userinput></screen>
     231
    235232    <para>
    236233      Compile <application>Thunderbird</application> by issuing the following
Note: See TracChangeset for help on using the changeset viewer.