Updates and a fix:

Update to LLVM-13.0.0
Update to rustc-1.56.0
Fix Seamonkey to build with the new version of rust
This commit is contained in:
Pierre Labastie 2021-10-25 22:00:08 +02:00
parent 96d79ed5b8
commit 3e8c1264a0
5 changed files with 77 additions and 53 deletions

View File

@ -8,18 +8,18 @@
<!ENTITY llvm-download-http "&llvm-url;/llvm-&llvm-version;.src.tar.xz"> <!ENTITY llvm-download-http "&llvm-url;/llvm-&llvm-version;.src.tar.xz">
<!ENTITY llvm-download-ftp " "> <!ENTITY llvm-download-ftp " ">
<!ENTITY llvm-md5sum "72a257604efa1d32ef85a37cd9c66873"> <!ENTITY llvm-md5sum "8c24626dce3ee9d87d1079ebf0897db5">
<!ENTITY llvm-size "41 MB"> <!ENTITY llvm-size "43 MB">
<!ENTITY llvm-buildsize "2.5 GB (715 MB installed, add 11 GB for tests)"> <!ENTITY llvm-buildsize "4.0 GB (1 GB installed, with documentation, add 15 GB for tests)">
<!ENTITY llvm-time "29 SBU (with parallelism=4, add 38 SBU for tests)"> <!ENTITY llvm-time "38 SBU (on 4 CPU cores, with documentation, add 14 SBU for tests)">
<!ENTITY clang-download-http "&llvm-url;/clang-&llvm-version;.src.tar.xz"> <!ENTITY clang-download-http "&llvm-url;/clang-&llvm-version;.src.tar.xz">
<!ENTITY clang-md5sum "03d77af27fcbeeae4414fb4713b9fd7e"> <!ENTITY clang-md5sum "020cbac6e5786094fe4f96f72e290763">
<!ENTITY clang-size "15 MB"> <!ENTITY clang-size "17 MB">
<!ENTITY compiler-rt-download-http "&llvm-url;/compiler-rt-&llvm-version;.src.tar.xz"> <!ENTITY compiler-rt-download-http "&llvm-url;/compiler-rt-&llvm-version;.src.tar.xz">
<!ENTITY compiler-rt-md5sum "40095daa9070b20eef9bdd32fdc53db5"> <!ENTITY compiler-rt-md5sum "e2e136656d27d60c5f40e20260f63c07">
<!ENTITY compiler-rt-size "2.1 MB"> <!ENTITY compiler-rt-size "2.2 MB">
]> ]>
<sect1 id="llvm" xreflabel="LLVM-&llvm-version;"> <sect1 id="llvm" xreflabel="LLVM-&llvm-version;">
@ -266,7 +266,7 @@ ninja docs-llvm-html docs-llvm-man</userinput></screen>
class="directory">/sys/devices/system/cpu/cpu&lt;N&gt;/online</filename> class="directory">/sys/devices/system/cpu/cpu&lt;N&gt;/online</filename>
by the <systemitem class="username">root</systemitem> user and makes them by the <systemitem class="username">root</systemitem> user and makes them
temporarily unusable by all jobs on the machine.) temporarily unusable by all jobs on the machine.)
Note that a few of the compiler-rt Sanitizer based tests (16 of more than 48000 Note that a few of the compiler-rt Sanitizer based tests (13 of more than 59000
tests run) are known to fail. Some of the LLVM-Unit IR tests are known to tests run) are known to fail. Some of the LLVM-Unit IR tests are known to
fail as well. fail as well.
</para> </para>
@ -276,28 +276,33 @@ ninja docs-llvm-html docs-llvm-man</userinput></screen>
</para> </para>
<screen role="root"><userinput>ninja install</userinput></screen> <screen role="root"><userinput>ninja install</userinput></screen>
<!-- as of version 13.0.0, the install process seems to install the html
documentation and the manual pages. The llvm html documentation
is installed into /usr/share/doc/llvm, while the clang html documentation
is installed into /usr/doc/clang. So we have just to move it. -->
<para> <para>
If you have built the the llvm documentation, install it by running the If you have built the the llvm documentation, it has been installed
following commands as the <systemitem class="username">root</systemitem> by the above command, but it needs to be moved. As the
user: <systemitem class="username">root</systemitem> user:
</para> </para>
<screen role="root" <screen role="root"
remap="doc"><userinput>install -v -m644 docs/man/* /usr/share/man/man1 &amp;&amp; remap="doc"><userinput>
install -v -d -m755 /usr/share/doc/llvm-&llvm-version;/llvm-html &amp;&amp; install -v -d -m755 /usr/share/doc/llvm-&llvm-version; &amp;&amp;
cp -Rv docs/html/* /usr/share/doc/llvm-&llvm-version;/llvm-html</userinput></screen> mv -v /usr/share/doc/llvm/html /usr/share/doc/llvm-&llvm-version;/llvm-html &amp;&amp;
rmdir -v /usr/share/doc/llvm</userinput></screen>
<para> <para>
If you have built the clang documentation, it can be installed in the If you have built the clang documentation, it has been installed, but
same way (again as the needs to be moved too. Again as the
<systemitem class="username">root</systemitem> user): <systemitem class="username">root</systemitem> user:
</para> </para>
<screen role="root" <screen role="root"
remap="doc"><userinput>install -v -m644 tools/clang/docs/man/* /usr/share/man/man1 &amp;&amp; remap="doc"><userinput>
install -v -d -m755 /usr/share/doc/llvm-&llvm-version;/clang-html &amp;&amp; install -v -d -m755 /usr/share/doc/llvm-&llvm-version; &amp;&amp;
cp -Rv tools/clang/docs/html/* /usr/share/doc/llvm-&llvm-version;/clang-html</userinput></screen> mv -v /usr/share/doc/clang/html /usr/share/doc/llvm-&llvm-version;/clang-html &amp;&amp;
rmdir -v /usr/share/doc/clang</userinput></screen>
</sect2> </sect2>
@ -387,39 +392,42 @@ cp -Rv tools/clang/docs/html/* /usr/share/doc/llvm-&llvm-version;/clang-html</us
clang-&lt;version&gt;), clang-&lt;version&gt;, clang-check, clang-cl, clang-&lt;version&gt;), clang-&lt;version&gt;, clang-check, clang-cl,
clang-cpp (last two symlinks to clang), clang-extdef-mapping, clang-format, clang-cpp (last two symlinks to clang), clang-extdef-mapping, clang-format,
clang-offload-bundler, clang-offload-wrapper, clang-offload-bundler, clang-offload-wrapper,
clang-refactor, clang-rename, clang-scan-deps, clang-refactor, clang-rename, clang-repl, clang-scan-deps,
diagtool, dsymutil, git-clang-format, hmaptool, llc, lli, diagtool, dsymutil, git-clang-format, hmaptool, llc, lli,
llvm-addr2line, llvm-ar, llvm-as, llvm-bcanalyzer, llvm-addr2line (symlink to llvm-symbolizer),
llvm-ar, llvm-as, llvm-bcanalyzer,
llvm-bitcode-strip (symlink to llvm-objcopy), llvm-cat, llvm-bitcode-strip (symlink to llvm-objcopy), llvm-cat,
llvm-cfi-verify, llvm-config, llvm-cov, llvm-c-test, llvm-cvtres, llvm-cfi-verify, llvm-config, llvm-cov, llvm-c-test, llvm-cvtres,
llvm-cxxdump, llvm-cxxfilt, llvm-cxxmap, llvm-cxxdump, llvm-cxxfilt, llvm-cxxmap,
llvm-diff, llvm-dis, llvm-dlltool (symlink to llvm-ar), llvm-dwarfdump, llvm-diff, llvm-dis, llvm-dlltool (symlink to llvm-ar), llvm-dwarfdump,
llvm-dwp, llvm-elfabi, llvm-exegenesis, llvm-extract, llvm-gsymutil, llvm-ifs, llvm-dwp, llvm-exegenesis, llvm-extract, llvm-gsymutil, llvm-ifs,
llvm-install-name-tool (symlink to llvm-objcopy), llvm-jitlink, llvm-install-name-tool (symlink to llvm-objcopy), llvm-jitlink,
llvm-lib (symlink to llvm-ar), llvm-libtool-darwin, llvm-link, llvm-lib (symlink to llvm-ar), llvm-libtool-darwin, llvm-link,
llvm-lipo, llvm-lto, llvm-lto2, llvm-mc, llvm-mca, llvm-ml, llvm-lipo, llvm-lto, llvm-lto2, llvm-mc, llvm-mca, llvm-ml,
llvm-modextract, llvm-mt, llvm-nm, llvm-objcopy, llvm-objdump, llvm-modextract, llvm-mt, llvm-nm, llvm-objcopy, llvm-objdump,
llvm-opt-report, llvm-pdbutil, llvm-profdata, llvm-profgen, llvm-opt-report, llvm-otool (symlink to llv-objdump),
llvm-pdbutil, llvm-profdata, llvm-profgen,
llvm-ranlib (symlink to llvm-ar), llvm-rc, llvm-ranlib (symlink to llvm-ar), llvm-rc,
llvm-readelf (symlink to llvm-readobj), llvm-readobj, llvm-reduce, llvm-readelf (symlink to llvm-readobj), llvm-readobj, llvm-reduce,
llvm-rtdyld, llvm-size, llvm-split, llvm-stress, llvm-strings, llvm-rtdyld, llvm-sim, llvm-size, llvm-split, llvm-stress,
llvm-strip (symlink to llvm-objcopy), llvm-symbolizer, llvm-tblgen, llvm-strings, llvm-strip (symlink to llvm-objcopy), llvm-symbolizer,
llvm-undname, llvm-xray, opt, sancov, sanstats, scan-build, llvm-tapi-diff, llvm-tblgen, llvm-undname, llvm-windres (symlink to
llvm-rc, llvm-xray, opt, sancov, sanstats, scan-build,
scan-view, split-file, and verify-uselistorder scan-view, split-file, and verify-uselistorder
</seg> </seg>
<seg> <seg>
libLLVM.so, libLLVM.so,
libLLVM*.a (84 libraries), libLLVM*.a (89 libraries),
libLTO.so, libLTO.so,
libRemarks.so, libRemarks.so,
libclang.so, libclang.so,
libclang-cpp.so, libclang-cpp.so,
libclang*.a (37 libraries), libclang*.a (38 libraries),
and LLVMgold.so and LLVMgold.so
</seg> </seg>
<seg> <seg>
/usr/include/{clang,clang-c,llvm,llvm-c}, /usr/include/{clang,clang-c,llvm,llvm-c},
/usr/lib/{clang,cmake/{clang,llvm}}, /usr/lib/{clang,cmake/{clang,llvm},libear,libscanbuild},
/usr/share/{clang,opt-viewer,scan-build,scan-view}, and /usr/share/{clang,opt-viewer,scan-build,scan-view}, and
/usr/share/doc/llvm-&llvm-version; /usr/share/doc/llvm-&llvm-version;
</seg> </seg>

View File

@ -6,16 +6,16 @@
<!ENTITY rust-download-http "https://static.rust-lang.org/dist/rustc-&rust-version;-src.tar.gz"> <!ENTITY rust-download-http "https://static.rust-lang.org/dist/rustc-&rust-version;-src.tar.gz">
<!ENTITY rust-download-ftp " "> <!ENTITY rust-download-ftp " ">
<!ENTITY rust-md5sum "bd6fbe9ba5fe457d2514e92a6ccd7b24"> <!ENTITY rust-md5sum "2a5f12b375b9b8fffe2340f6c2d27eab">
<!ENTITY rust-size "161 MB"> <!ENTITY rust-size "172 MB">
<!-- Gentle Reminder: buildsize is how much the user requires for the real <!-- Gentle Reminder: buildsize is how much the user requires for the real
install, i.e. the source with its DESTDIR *plus* the DESTDIR. You install, i.e. the source with its DESTDIR *plus* the DESTDIR. You
can 'mkdir /tmp/RUST ; cp -a install/* /tmp/RUST' and then run 'du -sch' can 'mkdir /tmp/RUST ; cp -a install/* /tmp/RUST' and then run 'du -sch'
to measure it, or du -sm to look at the size of the build tree before and to measure it, or du -sm to look at the size of the build tree before and
after the tests. --> after the tests. -->
<!ENTITY rust-buildsize "9.3 GB (407 MB installed) including 291 MB of ~/.cargo files for the user building this. Add 4.0 GB including extra 179 MB of ~/.cargo files if running the tests"> <!ENTITY rust-buildsize "8.8 GB (424 MB installed) including 285 MB of ~/.cargo files for the user building this. Add 5.9 GB including extra 273 MB of ~/.cargo files if running the tests">
<!ENTITY rust-time "31 SBU (add 13 SBU for tests, both on a 4-core machine)"> <!ENTITY rust-time "22 SBU (including download time; add 13 SBU for tests, both on a 4-core machine)">
]> ]>
<sect1 id="rust" xreflabel="rustc-&rust-version;"> <sect1 id="rust" xreflabel="rustc-&rust-version;">
@ -324,14 +324,12 @@ python3 ./x.py build --exclude src/tools/miri</userinput></screen>
</para> </para>
<para> <para>
At a minimum, seven tests will fail: ui/asm/inline-syntax.rs#arm, At a minimum, fourteen tests will fail: all the tests (eleven) in
assembly/target-feature-multiple.rs#SINGLEFLAG, the <quote>assembly</quote> suite,
assembly/target-feature-multiple.rs#TWOFLAGS, run-make-fulldeps/long-linker-command-lines, run-make-fulldeps/print-cfg,
run-make-fulldeps/long-linker-command-lines, run-make-fulldeps/split-debuginfo, run-make-fulldeps/sysroot-crates-are-unstable.
run-make-fulldeps/split-dwarf, run-make-fulldeps/sysroot-crates-are-unstable. If <command>gdb</command> is installed, another failure
With any recent version of <command>gdb</command>, four more failures (debuginfo/function-names.rs) can be expected.
(debuginfo/extern-c-fn.rs, debuginfo/generator-objects.rs,
debuginfo/issue-57822.rs, debuginfo/pretty-huge-vec.rs) can be expected.
</para> </para>
<para> <para>
@ -559,18 +557,20 @@ EOF</userinput></screen>
<seglistitem> <seglistitem>
<seg> <seg>
cargo-clippy, cargo-fmt, cargo-miri, cargo, clippy-driver, miri, cargo-clippy, cargo-fmt, cargo-miri (optional), cargo, clippy-driver,
rls, rust-analyzer, rust-gdb, rust-gdbgui, rust-lldb, rustc, miri (optional),
rls, rust-demangler, rust-gdb, rust-gdbgui, rust-lldb, rustc,
rustdoc, rustfmt. rustdoc, rustfmt.
</seg> </seg>
<seg> <seg>
Many lib*&lt;16-byte-hash&gt;.so libraries. librustc-driver-&lt;16-byte-hash&gt;.so,
libstd-&lt;16-byte-hash&gt;.so, and
libtest-&lt;16-byte-hash&gt;.so
</seg> </seg>
<seg> <seg>
~/.cargo, ~/.cargo,
/opt/rustc/lib/rustlib, /opt/rustc, symbolic link to
/opt/rustc/share/doc/rustc-&rust-version;, and /opt/rustc-&rust-version;
/opt/rustc/share/zsh/site-functions
</seg> </seg>
</seglistitem> </seglistitem>
</segmentedlist> </segmentedlist>

View File

@ -44,6 +44,18 @@
<listitem> <listitem>
<para>October 25th, 2021</para> <para>October 25th, 2021</para>
<itemizedlist> <itemizedlist>
<listitem>
<para>[pierre] - Fix seamonkey for building with rustc-1.56.0.
See <ulink url="&blfs-ticket-root;15634">#15634</ulink>.</para>
</listitem>
<listitem>
<para>[pierre] - Update to rustc-1.56.0. Fixes
<ulink url="&blfs-ticket-root;15634">#15634</ulink>.</para>
</listitem>
<listitem>
<para>[pierre] - Update to LLVM-13.0.0. Fixes
<ulink url="&blfs-ticket-root;15633">#15633</ulink>.</para>
</listitem>
<listitem> <listitem>
<para>[thomas] - Update to postgresql-14.0. Fixes <para>[thomas] - Update to postgresql-14.0. Fixes
<ulink url="&blfs-ticket-root;15631">#15631</ulink>.</para> <ulink url="&blfs-ticket-root;15631">#15631</ulink>.</para>

View File

@ -348,8 +348,8 @@ to avoid building libxml2 twice, which is slow with all deps -->
<!ENTITY git-version "2.33.1"> <!ENTITY git-version "2.33.1">
<!ENTITY guile-version "3.0.7"> <!ENTITY guile-version "3.0.7">
<!ENTITY librep-version "0.92.7"> <!ENTITY librep-version "0.92.7">
<!ENTITY llvm-majmin-version "12.0"> <!ENTITY llvm-majmin-version "13.0">
<!ENTITY llvm-point-version "1"> <!ENTITY llvm-point-version "0">
<!ENTITY llvm-version "&llvm-majmin-version;.&llvm-point-version;"> <!ENTITY llvm-version "&llvm-majmin-version;.&llvm-point-version;">
<!ENTITY lua-version "5.4.3"> <!ENTITY lua-version "5.4.3">
<!ENTITY lua52-version "5.2.4"> <!ENTITY lua52-version "5.2.4">
@ -374,7 +374,7 @@ to avoid building libxml2 twice, which is slow with all deps -->
<!ENTITY ruby-patch-version "2"> <!ENTITY ruby-patch-version "2">
<!ENTITY ruby-version "&ruby-minor-version;.&ruby-patch-version;"> <!ENTITY ruby-version "&ruby-minor-version;.&ruby-patch-version;">
<!ENTITY ruby-gemdir "/usr/lib/ruby/gems/&ruby-minor-version;.0"> <!ENTITY ruby-gemdir "/usr/lib/ruby/gems/&ruby-minor-version;.0">
<!ENTITY rust-version "1.52.0"> <!ENTITY rust-version "1.56.0">
<!ENTITY scons-version "4.2.0"> <!ENTITY scons-version "4.2.0">
<!ENTITY slang-version "2.3.2"> <!ENTITY slang-version "2.3.2">
<!ENTITY subversion-version "1.14.1"> <!ENTITY subversion-version "1.14.1">

View File

@ -230,6 +230,10 @@ ac_add_options --disable-crashreporter
ac_add_options --disable-updater ac_add_options --disable-updater
ac_add_options --disable-tests ac_add_options --disable-tests
# rust-simd does not compile with recent versions of rust.
# It is disabled in recent versions of firefox
ac_add_options --disable-rust-simd
ac_add_options --enable-optimize="-O2" ac_add_options --enable-optimize="-O2"
ac_add_options --enable-strip ac_add_options --enable-strip
ac_add_options --enable-install-strip ac_add_options --enable-install-strip