Changeset 7baeffe


Ignore:
Timestamp:
01/15/2023 03:16:16 AM (15 months ago)
Author:
Ken Moffat <ken@…>
Branches:
11.3, 12.0, 12.1, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, lazarus, lxqt, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, trunk, xry111/llvm18, xry111/xf86-video-removal
Children:
7ea158e
Parents:
9335a99
Message:

Update to rustc-1.66.1.

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • general/prog/rust.xml

    r9335a99 r7baeffe  
    77  <!ENTITY rust-download-http "https://static.rust-lang.org/dist/rustc-&rust-version;-src.tar.xz">
    88  <!ENTITY rust-download-ftp  " ">
    9   <!ENTITY rust-md5sum        "e77ac3a786d013604061b17f99dd9b27">
    10   <!ENTITY rust-size          "131 MB">
     9  <!ENTITY rust-md5sum        "96b082a8b44707eafa9d696923f40c28">
     10  <!ENTITY rust-size          "136 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     "10 GB (516 MB installed) including 266 MB of ~/.cargo files for the user building this. Add 6.2 GB including extra 243 MB of ~/.cargo files if running the tests">
    18   <!ENTITY rust-time          "21 SBU (including download time; add 10 SBU for tests, both on a 4-core machine)">
     17  <!ENTITY rust-buildsize     "9.4 GB (674 MB installed) including 360 MB of ~/.cargo files for the user building this. Add 6.5 GB including extra 312 MB of ~/.cargo files if running the tests">
     18  <!ENTITY rust-time          "17 SBU (including download time; add 23 SBU for tests, both on a 4-core machine)">
    1919]>
    2020
     
    258258    <para>
    259259      To install into the
    260       <filename class="directory">/opt</filename> directory, remove the symlink
     260      <filename class="directory">/opt</filename> directory, remove any
     261      existing <filename>/opt/rustc</filename> symlink
    261262      and create a new directory (i.e. with a different name if trying a
    262       modified build).
     263      modified build of the same version).
    263264      As the <systemitem class="username">root</systemitem>
    264265      user:
    265266    </para>
    266267
    267 <screen role="root"><userinput>mkdir /opt/rustc-&rust-version;             &amp;&amp;
     268<screen role="root"><userinput>mkdir /opt/rustc-&rust-version;         &amp;&amp;
    268269ln -svfn rustc-&rust-version; /opt/rustc</userinput></screen>
    269270
     
    284285<screen><userinput>cat &lt;&lt; EOF &gt; config.toml
    285286<literal># see config.toml.example for more possible options
    286 # See the 8.4 book for an example using shipped LLVM
    287 # e.g. if not installing clang, or using a version before 10.0
     287# See the 8.4 book for an old example using shipped LLVM
     288# e.g. if not installing clang, or using a version before 13.0
     289
     290# tell x.py to not keep printing an annoying warning
     291changelog-seen = 2
     292
    288293[llvm]
    289294# by default, rust will build for a myriad of architectures
     
    297302docs = false
    298303
    299 # install cargo as well as rust
     304# install extended tools: cargo, clippy, etc
    300305extended = true
     306
     307# Specify which extended tools (those from the default install).
     308tools = ["cargo", "clippy", "rustfmt"]
    301309
    302310[install]
     
    308316rpath = false
    309317
    310 # BLFS does not install the FileCheck executable from llvm,
    311 # so disable codegen tests
    312 codegen-tests = false
     318# BLFS used to not install the FileCheck executable from llvm,
     319# so disabled codegen tests.  The assembly tests rely on FileCheck
     320# and cannot easily be disabled, so those will anyway fail if
     321# FileCheck has not been installed.
     322#codegen-tests = false
    313323
    314324[target.x86_64-unknown-linux-gnu]
     
    341351       src/tools/cargo/Cargo.toml &amp;&amp; -->
    342352
    343 <screen><userinput>export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi" &amp;&amp;
    344 { [ ! -e /usr/include/libssh2.h ] ||
     353<screen><userinput>{ [ ! -e /usr/include/libssh2.h ] ||
    345354  export LIBSSH2_SYS_USE_PKG_CONFIG=1; } &amp;&amp;
    346 python3 ./x.py build --exclude src/tools/miri</userinput></screen>
     355python3 ./x.py build</userinput></screen>
    347356
    348357    <note>
     
    358367
    359368    <para>
    360       To run the tests issue <command>python3 ./x.py test --verbose
    361       --no-fail-fast | tee rustc-testlog</command>: as with the build, that
    362       will use all available CPUs.
    363     </para>
    364 
    365     <para>
    366       At a minimum, 51 tests will fail: all 46 of the tests in
    367       the <quote>assembly</quote> suite which are not skipped (various lints
    368       cause the warnings in these tests to be treated as errors), and
    369       5 other tests, 4 of which involve the
    370       <filename>rustdoc-ui/issue-98690.rs</filename> file, and another one,
    371       <filename>run-make-fulldeps/long-linker-command-lines</filename>.
    372 <!--  If <command>gdb</command> is installed,  another failure
    373       (debuginfo/function-names.rs) can be expected.
    374       # seems ok with 11.2 ken -->
     369      To run the tests (again using all available CPUs) issue:
     370    </para>
     371      <!-- screen with nodump to lay it out on multiple lines -->
     372<screen role="nodump">export LD_LIBRARY_PATH=$PWD/build/x86_64-unknown-linux-gnu/stage1/lib/ &amp;&amp;
     373  python3 ./x.py test --verbose --no-fail-fast |
     374    tee rustc-testlog ;
     375unset LD_LIBRARY_PATH</screen>
     376
     377    <para>
     378      If <command>FileCheck</command> from <application>LLVM</application> has
     379      not been installed, all 47 tests from the <quote>assembly</quote> suite
     380      will fail.
    375381    </para>
    376382
     
    397403    </para>
    398404
    399 <!--
    400  The total number
    401       of tests varies depending on which dependencies are present, e.g. more
    402       will be run if <command>gdb</command> is available. If you wish, the
    403       total number which were considered can be found if you run:
    404     </para>
    405 
    406 <screen remap="test"><userinput>egrep 'running [[:digit:]]+ test' rustc-testlog | awk '{ sum += $2 } END { print sum }'</userinput></screen>-->
    407 
    408     <para>
    409       The number of tests which failed can be found by running:
    410     </para>
    411 
    412 <screen remap="test"><userinput>grep '^test result:' rustc-testlog | awk  '{ sum += $6 } END { print sum }'</userinput></screen>
    413 
    414     <para>
    415       And similarly if you care about how many tests passed use $4, for those
    416       which were ignored (i.e. skipped) use $8 (and $10 for 'measured', $12 for
    417       'filtered out' but both are probably zero).
     405    <para>
     406      The number of tests which passed and failed can be found by running:
     407    </para>
     408
     409<!-- split into two lines for narrower screen windows -->
     410<screen remap="test"><userinput>grep '^test result:' rustc-testlog |
     411 awk '{sum1 += $4; sum2 += $6} END { print sum1 " passed; " sum2 " failed" }'</userinput></screen>
     412
     413    <para>
     414      The other available fields are $8 for those which were ignored
     415      (i.e. skipped),  $10 for 'measured' and $12 for 'filtered out' but both
     416      those last two are probably zero.
    418417    </para>
    419418
     
    422421    </para>
    423422
    424 <screen><userinput>DESTDIR=${PWD}/install python3 ./x.py install &amp;&amp;
    425 unset LIBSSH2_SYS_USE_PKG_CONFIG</userinput></screen>
     423<screen><userinput>DESTDIR=${PWD}/install python3 ./x.py install &amp;&amp;</userinput></screen>
    426424
    427425    <para>
     
    436434
    437435  <sect2 role="commands">
    438     <title>Command Explanations</title>
     436    <title>Command Explanations</title>                 
    439437
    440438    <para>
     
    454452    <para>
    455453      <command>extended = true</command>: this installs Cargo alongside Rust.
     454    </para>
     455
     456    <para>
     457      <command>tools = ["cargo", "clippy", "rustfmt"]</command>: if the tools
     458      are not scecified, the absence of <application>Miri</application> now
     459      causes the install to fail. But <application>Miri</application> is not
     460      built in the stable channel. Some of the other tools are unlikely to
     461      be useful unless using (old) code analyzers or editing the standard library.
     462      This set match those from the 'default' profile in binary command
     463      <command>rustup</command> which are recommended for most users, except that
     464      the documentation was disabled at the start of the '[build]' section.
    456465    </para>
    457466
     
    489498    </para>-->
    490499
    491     <para>
     500    <!-- https://github.com/alexcrichton/ssh2-rs/issues/173 -->
     501    <para>
     502      <command>export LIBSSH2_SYS_USE_PKG_CONFIG=1</command>: Allow
     503      <command>cargo</command> to link to system libssh2.
     504    </para>
     505
     506<!--<para>
    492507      <command>export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi"</command>:
    493508      This adds a link to libffi to any RUSTFLAGS you may already be passing
    494509      to the build. On some systems, linking fails to include libffi unless
    495510      this is used. The reason why this is needed is not clear.
    496     </para>
    497 
    498     <para>
    499       <command>--exclude src/tools/miri</command>: For a long time, the miri
    500       crate (an interpreter for the Midlevel Intermediate Representation)
    501       has failed to build on releases. It is optional, but the failure
    502       messages can persuade people that the whole build failed.  However,
    503       although it is not built in the main compile, with rustc-1.35.0 it
    504       now got compiled during the install, but it was broken in that version.
    505       <!-- might be unbroken in 1.36.0, if so remove broken from description
    506        of miri below. https://github.com/rust-lang/rust/issues/61830 -->
    507       Omitting it should save a little time. Even if this switch is
    508       not given, miri is not installed.
     511      2023-01-14 : assumed to be no longer needed, but it is some years
     512      since one person reported needing this, keep it commented for the moment.
     513    </para>-->
     514
     515    <para>
     516      <command>export LD_LIBRARY_PATH=$PWD/build/x86_64-unknown-linux-gnu/stage1/lib/</command>:
     517      In builds where rpath is enabled, the stage1 libraries can be used by the
     518      tests. But BLFS has disabled rpath: this environment variable allows a lot
     519      more tests to run. Without it there are no reported failures in most runs,
     520      but some odd messages in the test log implying failures.
    509521    </para>
    510522
     
    517529      <command>--no-fail-fast</command>: this switch ensures that the test suite
    518530      will not stop at the first error.
    519     </para>
    520 
    521     <!-- https://github.com/alexcrichton/ssh2-rs/issues/173 -->
    522     <para>
    523       <command>export LIBSSH2_SYS_USE_PKG_CONFIG=1</command>: Allow
    524       <command>cargo</command> to link to system libssh2.
    525531    </para>
    526532
     
    608614      <segtitle>Installed Directories</segtitle>
    609615
    610       <seglistitem>
     616      <seglistitem>                     
    611617        <seg>
    612           cargo-clippy, cargo-fmt, cargo-miri (optional), cargo, clippy-driver,
    613           miri (optional), rls, rust-analyzer, rust-demangler, rust-gdb,
     618          cargo-clippy, cargo-fmt, cargo, clippy-driver, rust-gdb,
    614619          rust-gdbgui, rust-lldb, rustc, rustdoc, and rustfmt
    615620        </seg>
     
    657662      </varlistentry>
    658663
    659       <varlistentry id="cargo-miri">
     664<!--  <varlistentry id="cargo-miri">
    660665        <term><command>cargo-miri</command></term>
    661666        <listitem>
     
    668673          </indexterm>
    669674        </listitem>
    670       </varlistentry>
     675      </varlistentry>-->
    671676
    672677      <varlistentry id="cargo">
     
    694699      </varlistentry>
    695700
    696       <varlistentry id="miri">
     701<!--  <varlistentry id="miri">
    697702        <term><command>miri</command></term>
    698703        <listitem>
     
    745750          </indexterm>
    746751        </listitem>
    747       </varlistentry>
     752      </varlistentry> -->
    748753
    749754      <varlistentry id="rust-gdb">
  • introduction/welcome/changelog.xml

    r9335a99 r7baeffe  
    4343      <itemizedlist>
    4444        <listitem>
     45          <para>[ken] - Update to rustc-1.66.1 (security update). Fixes
     46          <ulink url="&blfs-ticket-root;17501">#17501</ulink>. Please
     47          read yesterday's entry for 'Install FileCheck' if you have
     48          installed recent LLVM without that utility.</para>
     49        </listitem>
     50        <listitem>
    4551          <para>[timtas] - Update to thunar-4.18.2. Fixes
    4652          <ulink url="&blfs-ticket-root;17498">#17498</ulink>.</para>
  • packages.ent

    r9335a99 r7baeffe  
    338338<!ENTITY ruby-version                 "&ruby-minor-version;.&ruby-patch-version;">
    339339<!ENTITY ruby-gemdir                  "/usr/lib/ruby/gems/&ruby-minor-version;.0">
    340 <!ENTITY rust-version                 "1.64.0">
     340<!ENTITY rust-version                 "1.66.1">
    341341<!ENTITY scons-version                "4.4.0">
    342342<!ENTITY slang-version                "2.3.3">
Note: See TracChangeset for help on using the changeset viewer.