lang/rust: build problems after r443109

Rainer Hurling rhurlin at gwdg.de
Mon Jun 12 07:11:28 UTC 2017


When I try to update from rust-1.17.0 to 1.18.0, I get the following 
breakage:

#make
===>  License APACHE20  MIT accepted by the user
===>   rust-1.18.0 depends on file: /usr/local/sbin/pkg - found
=> rustc-1.18.0-src.tar.gz doesn't seem to exist in 
/usr/ports/distfiles/rust.
=> Attempting to fetch 
http://static.rust-lang.org/dist/rustc-1.18.0-src.tar.gz
rustc-1.18.0-src.tar.gz                       100% of   31 MB   31 MBps 
00m01s
=> 2017-04-27/rustc-1.17.0-x86_64-unknown-freebsd.tar.gz doesn't seem to 
exist in /usr/ports/distfiles/rust.
=> Attempting to fetch 
https://static.rust-lang.org/dist/2017-04-27/rustc-1.17.0-x86_64-unknown-freebsd.tar.gz
2017-04-27/rustc-1.17.0-x86_64-unknown-freebsd100% of   39 MB   33 MBps 
00m01s
=> 2017-04-27/rust-std-1.17.0-x86_64-unknown-freebsd.tar.gz doesn't seem 
to exist in /usr/ports/distfiles/rust.
=> Attempting to fetch 
https://static.rust-lang.org/dist/2017-04-27/rust-std-1.17.0-x86_64-unknown-freebsd.tar.gz
2017-04-27/rust-std-1.17.0-x86_64-unknown-free100% of   53 MB   36 MBps 
00m01s
=> 2017-04-27/cargo-0.18.0-x86_64-unknown-freebsd.tar.gz doesn't seem to 
exist in /usr/ports/distfiles/rust.
=> Attempting to fetch 
https://static.rust-lang.org/dist/2017-04-27/cargo-0.18.0-x86_64-unknown-freebsd.tar.gz
2017-04-27/cargo-0.18.0-x86_64-unknown-freebsd100% of 4921 kB   18 MBps 
00m00s
=> rust-registry-1.18.0.tar.xz doesn't seem to exist in 
/usr/ports/distfiles/rust.
=> Attempting to fetch 
http://distcache.FreeBSD.org/local-distfiles/riggs/rust/rust-registry-1.18.0.tar.xz
rust-registry-1.18.0.tar.xz                   100% of 7534 kB 5562 kBps 
00m01s
===> Fetching all distfiles required by rust-1.18.0 for building
===>  Extracting for rust-1.18.0
=> SHA256 Checksum OK for rust/rustc-1.18.0-src.tar.gz.
=> SHA256 Checksum OK for 
rust/2017-04-27/rustc-1.17.0-x86_64-unknown-freebsd.tar.gz.
=> SHA256 Checksum OK for 
rust/2017-04-27/rust-std-1.17.0-x86_64-unknown-freebsd.tar.gz.
=> SHA256 Checksum OK for 
rust/2017-04-27/cargo-0.18.0-x86_64-unknown-freebsd.tar.gz.
=> SHA256 Checksum OK for rust/rust-registry-1.18.0.tar.xz.
/bin/ln -sf 
/usr/ports/distfiles/rust/2017-04-27/rustc-1.17.0-x86_64-unknown-freebsd.tar.gz 
  /usr/ports/lang/rust/work/rustc-1.18.0-src/build/cache/2017-04-27
/bin/ln -sf 
/usr/ports/distfiles/rust/2017-04-27/cargo-0.18.0-x86_64-unknown-freebsd.tar.gz 
  /usr/ports/lang/rust/work/rustc-1.18.0-src/build/cache/2017-04-27
/usr/bin/tar -x -C /usr/ports/lang/rust/work/rustc-1.18.0-src -f 
/usr/ports/distfiles/rust/2017-04-27/rust-std-1.17.0-x86_64-unknown-freebsd.tar.gz
cc -O2 -pipe  -fstack-protector -isystem /usr/local/include 
-fno-strict-aliasing -fPIC -c -o 
/usr/ports/lang/rust/work/rustc-1.18.0-src/old_fstat.o 
/usr/ports/lang/rust/files/old_fstat.c
(cd /usr/ports/lang/rust/work/rustc-1.18.0-src && ar x 
/usr/ports/lang/rust/work/rustc-1.18.0-src/rust-std-1.16.0-x86_64-unknown-freebsd/rust-std-x86_64-unknown-freebsd/lib/rustlib/x86_64-unknown-freebsd/lib/libstd-aef6cb139bd07bdc.rlib 
std-aef6cb139bd07bdc.0.o)
ar: fatal: Failed to open 
'/usr/ports/lang/rust/work/rustc-1.18.0-src/rust-std-1.16.0-x86_64-unknown-freebsd/rust-std-x86_64-unknown-freebsd/lib/rustlib/x86_64-unknown-freebsd/lib/libstd-aef6cb139bd07bdc.rlib'
*** Error code 70
Stop.
make[1]: stopped in /usr/ports/lang/rust
*** Error code 1


It seems, the some strings in Makefile have not been updated 
accordingly. The following patch solves this for me:


#diff -urN Makefile.orig Makefile
--- Makefile.orig	2017-06-12 07:28:00.000000000 +0200
+++ Makefile	2017-06-12 08:50:21.592902000 +0200
@@ -46,6 +46,7 @@

  RUST_BOOTSTRAP_DIR?=		2017-04-27
  RUST_BOOTSTRAP_VERSION?=	1.17.0
+RUST_BOOTSTRAP_HASH?=		f4594d3e53dcb114
  RUSTC_BOOTSTRAP=	 
${RUST_BOOTSTRAP_DIR}/rustc-${RUST_BOOTSTRAP_VERSION}-${RUST_TARGET}.tar.gz
  RUST_STD_BOOTSTRAP=	 
${RUST_BOOTSTRAP_DIR}/rust-std-${RUST_BOOTSTRAP_VERSION}-${RUST_TARGET}.tar.gz

@@ -135,8 +136,8 @@
  		exit 1;\
  	fi

-LIBSTD= 
rust-std-1.16.0-${RUST_ARCH_${ARCH}}-unknown-freebsd/rust-std-${RUST_ARCH_${ARCH}}-unknown-freebsd/lib/rustlib/${RUST_ARCH_${ARCH}}-unknown-freebsd/lib/libstd-aef6cb139bd07bdc.rlib
-STDF=	std-aef6cb139bd07bdc.0.o
+LIBSTD= 
rust-std-${RUST_BOOTSTRAP_VERSION}-${RUST_ARCH_${ARCH}}-unknown-freebsd/rust-std-${RUST_ARCH_${ARCH}}-unknown-freebsd/lib/rustlib/${RUST_ARCH_${ARCH}}-unknown-freebsd/lib/libstd-${RUST_BOOTSTRAP_HASH}.rlib
+STDF=	std-${RUST_BOOTSTRAP_HASH}.0.o

  post-extract:
  	@${MKDIR} \
@@ -157,7 +158,7 @@
  	${LD} -r -o ${WRKSRC}/std.xx.o ${WRKSRC}/${STDF} ${WRKSRC}/old_fstat.o
  	${MV} ${WRKSRC}/std.xx.o ${WRKSRC}/${STDF}
  	(cd ${WRKSRC} && ${AR} r ${WRKSRC}/${LIBSTD} ${STDF})
-	${TAR} -cy -C ${WRKSRC} -f ${WRKSRC}/rustc.tbz 
rust-std-1.16.0-${RUST_ARCH_${ARCH}}-unknown-freebsd
+	${TAR} -cy -C ${WRKSRC} -f ${WRKSRC}/rustc.tbz 
rust-std-${RUST_BOOTSTRAP_VERSION}-${RUST_ARCH_${ARCH}}-unknown-freebsd
  	${MV} ${WRKSRC}/rustc.tbz ${WRKSRC}/build/cache/${RUST_STD_BOOTSTRAP}
  .endif


Greetings,
Rainer Hurling


More information about the freebsd-ports mailing list