lang/rust: failure to build stage0 tool rust-installer (amd64)

David Wolfskill david at catwhisker.org
Tue Aug 8 12:23:59 UTC 2017


This is on my laptop, running:

FreeBSD g1-252.catwhisker.org 11.1-STABLE FreeBSD 11.1-STABLE #356  r322216M/322217:1101501: Tue Aug  8 03:44:01 PDT 2017     root at g1-252.catwhisker.org:/common/S1/obj/usr/src/sys/CANARY  amd64

using a ports working copy updated from r447489 to r447536:
g1-252(12.0-C)[4] svn info /usr/ports/
Path: /usr/ports
Working Copy Root Path: /usr/ports
URL: file:///svn/freebsd/ports/head
Relative URL: ^/head
Repository Root: file:///svn/freebsd/ports
Repository UUID: 35697150-7ecd-e111-bb59-0022644237b5
Revision: 447536
Node Kind: directory
Schedule: normal
Last Changed Author: cpm
Last Changed Rev: 447536
Last Changed Date: 2017-08-08 02:12:27 -0700 (Tue, 08 Aug 2017)

(I point out the previous rr447489, as the installed ports had been
updated to that point successfully (yesterday).)

After updating base FreeBSD (ref. above "uname -a" outpout) & rebooting,
I ran "portmaster -ad" (within script), and was informed:

portmaster: All >> (4)
===>>> The following actions will be taken if you choose to proceed:
        Upgrade p5-Error-0.17024 to p5-Error-0.17025
        Upgrade firefox-54.0.1_1,1 to firefox-55.0,1
        Install devel/cargo
        Install lang/rust

===>>> Proceed? y/n [y] 

(Immediately following the previous -- successful -- update of
www/firefox, I had performed a "pkg delete lang/rust", as I had
been made quite aware that lang/rust does not build successully if
(an earlier version of) it is already installed.  That also deleted
devel/cargo; since they are only build dependencies for www/firefox
(in my environment), that seemed OK.)

I have placed the complete typescript in
<http://www/~david/FreeBSD/ports/rust.txt>; there is also
<http://www/~david/FreeBSD/ports/rust.txt.gz> available.

In any case, the distribution files seem OK:

...
===>  License APACHE20  MIT accepted by the user
===>   rust-1.19.0 depends on file: /usr/local/sbin/pkg - found
===> Fetching all distfiles required by rust-1.19.0 for building
===>  Extracting for rust-1.19.0
=> SHA256 Checksum OK for rust/rustc-1.19.0-src.tar.gz.
=> SHA256 Checksum OK for rust/2017-06-08/rustc-1.18.0-x86_64-unknown-freebsd.tar.gz.
=> SHA256 Checksum OK for rust/2017-06-08/rust-std-1.18.0-x86_64-unknown-freebsd.tar.gz.
=> SHA256 Checksum OK for rust/2017-06-08/cargo-0.19.0-x86_64-unknown-freebsd.tar.gz.
=> SHA256 Checksum OK for rust/rust-registry-1.19.0.tar.xz.
/bin/ln -sf /common/ports/distfiles//rust/2017-06-08/rustc-1.18.0-x86_64-unknown-freebsd.tar.gz  /common/ports/lang/rust/work/rustc-1.19.0-src/build/cache/2017-06-08
...

Patching seemed OK:
...
===>  Patching for rust-1.19.0
===>  Applying FreeBSD patches for rust-1.19.0
===>   rust-1.19.0 depends on executable: cmake - found
===>   rust-1.19.0 depends on file: /usr/local/bin/FileCheck40 - found
===>   rust-1.19.0 depends on executable: gmake - found
===>   rust-1.19.0 depends on file: /usr/local/bin/python2.7 - found
===>   rust-1.19.0 depends on shared library: libedit.so.0 - found (/usr/local/lib/libedit.so.0)
===>  Configuring for rust-1.19.0
...

Configuring was apparently OK:
...
===>  Configuring for rust-1.19.0
===>   FreeBSD 10 autotools fix applied to /common/ports/lang/rust/work/rustc-1.19.0-src/src/vendor/lzma-sys/xz-5.2.3/build-aux/config.rpath
===>   FreeBSD 10 autotools fix applied to /common/ports/lang/rust/work/rustc-1.19.0-src/src/vendor/libssh2-sys/libssh2/config.rpath
===>   FreeBSD 10 autotools fix applied to /common/ports/lang/rust/work/.cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.6/libssh2/config.rpath
===>   FreeBSD 10 autotools fix applied to /common/ports/lang/rust/work/.cargo/registry/src/github.com-1ecc6299db9ec823/lzma-sys-0.1.4/xz-5.2.3/build-aux/config.rpath
/usr/bin/sed -E  -e 's,%PREFIX%,/usr/local,'  -e 's,%SYSCONFDIR%,/usr/local/etc,'  -e 's,%MANDIR%,/usr/local/man,'  -e 's,%PYTHON_CMD%,/usr/local/bin/python2.7,'  -e 's,%CHANNEL%,stable,'  -e 's,%TARGET%,x86_64-unknown-freebsd,'  < /common/ports/lang/rust/files/config.toml  > /common/ports/lang/rust/work/rustc-1.19.0-src/config.toml
/usr/bin/sed -i.bak -e 's,%DOCS%,true,' /common/ports/lang/rust/work/rustc-1.19.0-src/config.toml
/usr/bin/sed -i.bak -e 's,%LLVM_CONFIG%,/usr/local/bin/llvm-config40,' /common/ports/lang/rust/work/rustc-1.19.0-src/config.toml
===>  Building for rust-1.19.0
...

Building... hmmm... I just noticed the "info" text; that seems... odd:
===>  Building for rust-1.19.0
cd /common/ports/lang/rust/work/rustc-1.19.0-src &&  /usr/bin/env HOME=/common/ports/lang/rust/work  /usr/local/bin/python2.7 /common/ports/lang/rust/work/rustc-1.19.0-src/x.py build  --verbose  --config ./config.toml  --jobs 8
info: looks like you are running this command under `sudo`
      and so in order to preserve your $HOME this will now
      use vendored sources by default. Note that if this
      does not work you should run a normal build first
      before running a command like `sudo make install`
extracting /common/ports/lang/rust/work/rustc-1.19.0-src/build/cache/2017-06-08/rust-std-1.18.0-x86_64-unknown-freebsd.tar.gz
  extracting rust-std-1.18.0-x86_64-unknown-freebsd/rust-std-x86_64-unknown-freebsd
...

Anyway, the build goes on for some time, then:
...
running: "/common/ports/lang/rust/work/rustc-1.19.0-src/build/x86_64-unknown-freebsd/stage0/bin/rustdoc" "--html-after-content" "/common/ports/lang/rust/work/rustc-1.19.0-src/src/doc/footer.inc" "--html-before-content" "/common/ports/lang/rust/work/rustc-1.19.0-src/build/x86_64-unknown-freebsd/doc/version_info.html" "--html-in-header" "/common/ports/lang/rust/work/rustc-1.19.0-src/src/doc/favicon.inc" "--markdown-playground-url" "https://play.rust-lang.org/" "-o" "/common/ports/lang/rust/work/rustc-1.19.0-src/build/x86_64-unknown-freebsd/doc" "/common/ports/lang/rust/work/rustc-1.19.0-src/src/doc/index.md" "--markdown-css" "rust.css"
executing step Step { name: "tool-rust-installer", stage: 0, host: "x86_64-unknown-freebsd", target: "x86_64-unknown-freebsd" }
Building stage0 tool rust-installer (x86_64-unknown-freebsd)
running: "/common/ports/lang/rust/work/rustc-1.19.0-src/build/x86_64-unknown-freebsd/stage0/bin/cargo" "build" "-j" "8" "--target" "x86_64-unknown-freebsd" "-v" "--release" "--frozen" "--manifest-path" "/common/ports/lang/rust/work/rustc-1.19.0-src/src/tools/rust-installer/Cargo.toml"
error: the listed checksum of `/common/ports/lang/rust/work/rustc-1.19.0-src/src/vendor/lzma-sys/xz-5.2.3/build-aux/config.rpath` has changed:
expected: c8b4c017079da9dfb3086a0583e60ffe736184d89005dc5973f0bb0fd17c04bb
actual:   561b00eb30ecaef2c9da17bc195e7d2a7ea63facea38ea9849fbb0ed340bebba

directory sources are not intended to be edited, if modifications are required then it is recommended that [replace] is used with a forked copy of the source

command did not execute successfully: "/common/ports/lang/rust/work/rustc-1.19.0-src/build/x86_64-unknown-freebsd/stage0/bin/cargo" "build" "-j" "8" "--target" "x86_64-unknown-freebsd" "-v" "--release" "--frozen" "--manifest-path" "/common/ports/lang/rust/work/rustc-1.19.0-src/src/tools/rust-installer/Cargo.toml"
expected success, got: exit code: 101

Traceback (most recent call last):
  File "/common/ports/lang/rust/work/rustc-1.19.0-src/x.py", line 20, in <module>
    bootstrap.main()
  File "/common/ports/lang/rust/work/rustc-1.19.0-src/src/bootstrap/bootstrap.py", line 678, in main
    bootstrap()
  File "/common/ports/lang/rust/work/rustc-1.19.0-src/src/bootstrap/bootstrap.py", line 670, in bootstrap
    run(args, env=env, verbose=rb.verbose)
  File "/common/ports/lang/rust/work/rustc-1.19.0-src/src/bootstrap/bootstrap.py", line 142, in run
    raise RuntimeError(err)
RuntimeError: failed to run: /common/ports/lang/rust/work/rustc-1.19.0-src/build/bootstrap/debug/bootstrap install --verbose --config ./config.toml --jobs 8
*** Error code 1

Stop.
make[1]: stopped in /common/ports/lang/rust
*** Error code 1

Stop.
make: stopped in /common/ports/lang/rust

===>>> make stage failed for lang/rust
===>>> Aborting update

===>>> Update for lang/rust failed
===>>> Aborting update

===>>> Update for devel/cargo failed
===>>> Aborting update

===>>> Update for www/firefox failed
===>>> Aborting update

===>>> The following actions were performed:
        Upgrade of p5-Error-0.17024 to p5-Error-0.17025

===>>> You can restart from the point of failure with this command line:
       portmaster <flags> www/firefox devel/cargo lang/rust 

This command has been saved to /tmp/portmasterfail.txt

Command exit status: 1
Script done on Tue Aug  8 04:18:15 2017


I'm not at all clear on what could have caused that complaint.

In case it helps, I'll mention that in this system, I continued my
usual practice of the past 15 years or so, and made /usr/ports a
symlink to /common/ports.  (The system has 4 mostly-independently-bootable
slices, each with its own /usr file system.  I was not keen on
having 4 separate copies of the ports tree, so I placed it on a
separate file system (that, in multi-user mode is mounted regardless
of which slice was used to boot, and is thus "common" to all of
them).  I then made the "ports" entry in each of the /usr file
systems a symlink to /common/ports.  My home directory (for example)
is handled similarly.)

So... any ideas on how to get lang/rust to build successfully?
(FWIW, as long as lang/rust was not currently installed, I have not
previously had issues with getting it to build.)

Thanks!

Peace,
david
-- 
David H. Wolfskill				david at catwhisker.org
Of the Trump White House activity, how much is "chaff?" (ref. RADAR)

See http://www.catwhisker.org/~david/publickey.gpg for my public key.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 603 bytes
Desc: not available
URL: <http://lists.freebsd.org/pipermail/freebsd-ports/attachments/20170808/6f2e4a90/attachment.sig>


More information about the freebsd-ports mailing list