Changeset 7d259126


Ignore:
Timestamp:
09/30/2018 09:44:35 PM (4 years ago)
Author:
Ken Moffat <ken@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 8.4, 9.0, 9.1, bdubbs/svn, elogind, lazarus, plabs/python-mods, qt5new, trunk, upgradedb, xry111/intltool, xry111/soup3, xry111/test-20220226
Children:
1ca65eb
Parents:
8c83efc
Message:

Rustc-1.29.1, now using python3. The measurements used llvm-7.0.0, but also tested with 6.0.1.

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

Files:
3 edited

Legend:

Unmodified
Added
Removed
  • general/prog/rust.xml

    r8c83efc r7d259126  
    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        "d8d4d30c8d0b905f978bee3fdd618db5">
    10   <!ENTITY rust-size          "95 MB">
    11   <!ENTITY rust-buildsize     "5.1 GB (440 MB installed) including 379MB of ~/.cargo files for the user building this and 440MB of files in the DESTDIR (add 1.2GB if running the tests)">
    12   <!ENTITY rust-time          "33 SBU (add 17 SBU for tests, both with 4 processors)">
     9  <!ENTITY rust-md5sum        "42bcdc69536ab7a04bfead2ddade1edd">
     10  <!ENTITY rust-size          "102 MB">
     11  <!ENTITY rust-buildsize     "6.5 GB (679 MB installed) including 270MB of ~/.cargo files for the user building this (add 1.4GB if running the tests)">
     12  <!ENTITY rust-time          "27 SBU (add 13 SBU for tests, both with 4 processors)">
    1313]>
    1414
     
    5555
    5656    <note>
     57      <para>
     58        Rustc defaults to building for ALL supported architectures, using a
     59        shipped copy of LLVM. In BLFS the build is only for the X86 architecture.
     60        Rustc still claims to require Python2, but that is only really necessary
     61        when building some other architectures with the shipped LLVM. If you
     62        intend to develop rust crates, this build may not be good enough for your
     63        purposes.
     64      </para>
    5765      <para>
    5866        Repeated builds of this package on the same machine show a wide range
     
    6573        This is because running the install as root not only downloads all of the
    6674        cargo files again (to <filename>/root/.cargo</filename>), it then spends
    67         a very long time recompiling. Using this method saves 30 SBU on the
    68         4-core machine where this was tested, at the cost of an extra 60MB of
    69         disk space for the extra files.
     75        a very long time recompiling. Using this method saves a lot of time, at
     76        the cost of extra disk space.
    7077      </para>
    7178    </note>
     
    113120      <xref linkend="curl"/>,
    114121      <xref linkend="cmake"/>,
    115       <xref linkend="libssh2"/>,
    116 <!-- Although this appears to build with python3, there are sometimes strange
    117  script errors in the compilation (i.e. it exits after the build, without
    118  any obvious errors and with a good status. Also ,it ships with a configure
    119  script which invokes python2.7 to create config.toml, and some of the files
    120  in the package use python2.7. -->
    121       <xref linkend="python2"/>
     122      <xref linkend="libssh2"/>
     123<!--  <xref linkend="python2"/> -->
    122124    </para>
    123125
     
    130132    <bridgehead renderas="sect4">Optional</bridgehead>
    131133    <para role="optional">
    132       <xref linkend="gdb"/> (used by debuginfo-gdb in the testsuite)
     134      <xref linkend="gdb"/> (recommended if running the testsuite)
    133135    </para>
    134136
     
    175177rpath = false
    176178
    177 # get reasonably clean output from the test harness
    178 quiet-tests = true
    179 
    180179# BLFS does not install the FileCheck executable from llvm,
    181180# so disable codegen tests
     
    196195
    197196<screen><userinput>export RUSTFLAGS="$RUSTFLAGS -C link-args=-lffi" &amp;&amp;
    198 ./x.py build</userinput></screen>
     197python3 ./x.py build</userinput></screen>
    199198
    200199    <para>
     
    226225    <para>
    227226      To run the tests issue
    228       <command>./x.py test --verbose --no-fail-fast &gt;../rustc-testlog</command>:
     227      <command>python3 ./x.py test --verbose --no-fail-fast | tee rustc-testlog</command>:
    229228      as with the build, that will use all available CPUs.  This runs many suites
    230       of tests (in an apparently random order), at least one will fail:
    231       compile-fail/issue-37131.rs tries to
    232       compile for the thumbv6m-none-eabi target but the BLFS build does not cater for
    233       that, and many tests in debuginfo-gdb will fail if
    234       <application>gdb</application> has not been installed. A few other tests might
    235       fail.
     229      of tests (in an apparently random order), several will fail in BLFS:
     230      compile-fail/issue-37131.rs require a thumbv6m-none-eabi compiler but the
     231      BLFS build does not cater for
     232      that, ui/issue-49851/compiler-builtins-error.rs and ui/issue-50993.rs (both
     233      run twice) require a thumbv7em-none-eabihf compiler, and seven tests in
     234      debuginfo-gdb will fail because gdb-8.1 changed the output format.  If
     235      <application>gdb</application> has not been installed, most of the gdb tests
     236      will fail.
    236237    </para>
    237238
     
    241242    </para>
    242243
    243 <screen><command>grep 'running .* tests' ../rustc-testlog | awk '{ sum += $2 } END { print sum }'</command></screen>
    244 
    245     <para>
    246       That should report 13224 tests. Similarly, the total tests which failed can
     244<screen><command>grep 'running .* tests' rustc-testlog | awk '{ sum += $2 } END { print sum }'</command></screen>
     245
     246    <para>
     247      That should report 17101 tests. Similarly, the total tests which failed can
    247248      be found by running:
    248249    </para>
    249250
    250 <screen><command>grep '^test result:' ../rustc-testlog | awk  '{ sum += $6 } END { print sum }'</command></screen>
     251<screen><command>grep '^test result:' rustc-testlog | awk  '{ sum += $6 } END { print sum }'</command></screen>
    251252
    252253    <para>
     
    261262
    262263<screen><userinput>export LIBSSH2_SYS_USE_PKG_CONFIG=1 &amp;&amp;
    263 DESTDIR=${PWD}/install ./x.py install &amp;&amp;
     264DESTDIR=${PWD}/install python3 ./x.py install &amp;&amp;
    264265unset LIBSSH2_SYS_USE_PKG_CONFIG</userinput></screen>
    265266
     
    309310      on 32-bit x86. This whole section may be omitted if you wish to build
    310311      against the shipped llvm, or do not have clang, but the resulting build will
    311       be larger and take a little longer.
     312      be larger and take longer.
    312313    </para>
    313314
     
    361362      <seglistitem>
    362363        <seg>
    363           cargo-fmt, cargo, rls, rust-gdb, rust-lldb, rustc, rustdoc, rustfmt.
     364          cargo-clippy, cargo-fmt, cargo, clippy-driver, rls, rust-gdb, rust-lldb, rustc, rustdoc, rustfmt.
    364365        </seg>
    365366        <seg>
     
    380381      <?dbhtml list-presentation="table"?>
    381382
     383      <varlistentry id="cargo-clippy">
     384        <term><command>cargo-clippy</command></term>
     385        <listitem>
     386          <para>
     387            provides lint checks for a cargo package.
     388          </para>
     389          <indexterm zone="rust cargo-clippy">
     390            <primary sortas="b-cargo-clippy">cargo-clippy</primary>
     391          </indexterm>
     392        </listitem>
     393      </varlistentry>
     394
    382395      <varlistentry id="cargo-fmt">
    383396        <term><command>cargo-fmt</command></term>
     
    401414          <indexterm zone="rust cargo">
    402415            <primary sortas="b-cargo">cargo</primary>
     416          </indexterm>
     417        </listitem>
     418      </varlistentry>
     419
     420      <varlistentry id="clippy-driver">
     421        <term><command>clippy-driver</command></term>
     422        <listitem>
     423          <para>
     424            provides lint checks for Rust.
     425          </para>
     426          <indexterm zone="rust clippy-driver">
     427            <primary sortas="b-clippy-driver">clippy-driver</primary>
    403428          </indexterm>
    404429        </listitem>
  • introduction/welcome/changelog.xml

    r8c83efc r7d259126  
    4747      <itemizedlist>
    4848        <listitem>
     49          <para>[ken] - Update to rustc-1.29.1, using Python3. Fixes
     50          <ulink url="&blfs-ticket-root;11188">#11188</ulink>.</para>
     51        </listitem>
     52        <listitem>
    4953          <para>[ken] - NFS-Utils now requires rpcsvc-proto. Fixes
    5054          <ulink url="&blfs-ticket-root;11169">#11169</ulink>.</para>
  • packages.ent

    r8c83efc r7d259126  
    337337<!ENTITY ruby-patch-version           "1">
    338338<!ENTITY ruby-version                 "&ruby-minor-version;.&ruby-patch-version;">
    339 <!ENTITY rust-version                 "1.25.0">
     339<!ENTITY rust-version                 "1.29.1">
    340340<!ENTITY scons-version                "3.0.0">
    341341<!ENTITY slang-version                "2.3.2">
Note: See TracChangeset for help on using the changeset viewer.