On Thu, Sep 01, 2016 at 10:17:34AM +0200, Antoine Jacoutot wrote:
> > [...]
> >
> > Log message:
> > Update to rust 1.11.0, from semarie@, thanks!
> > All tests passing here.
>
> Did not build here.
>
> [...]
> configure: CFG_ENABLE_LOCAL_RUST := 1
> configure: error: no local rust to use
> ===> Exiting lang/rust with an error
> which: rustc: Command not found.
> *** Error 1 in lang/rust (/exopi-cvs/ports/infrastructure/mk/bsd.port.mk:2656
> '/exopi-obj/pobj/rust-1.11.0/build-amd64/.configure_done')
> *** Error 1 in lang/rust (/exopi-cvs/ports/infrastructure/mk/bsd.port.mk:2397
> 'configure')
> *** Error 1 in /exopi-cvs/ports (infrastructure/mk/bsd.port.subdir.mk:147
> 'configure')
> Error: job failed 256
>
My bad.
The following diff should solve the issue.
When using --enable-local-rebuild option, the configure script will
check the existence of rustc binary from the local-rust-root directory
(/usr/local by default). It is the binary the build process will copy in
stage0 directory.
With the diff, we explicity use the bootstrap directory for configuring.
Note that we still we manually copying all the bootstrap files in
post-configure, as the standard build system will *not* copy the
libraries in lib/ which could be required to run rustc binary
(libraries like libc.so used by bootstrapper).
I have only slightly tested the diff (checked it pass configure stage
when rustc isn't already installed). I am currently rebuilding it with
proot/dpb environment for futher testing.
--
Sebastien Marie
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/rust/Makefile,v
retrieving revision 1.27
diff -u -p -r1.27 Makefile
--- Makefile 31 Aug 2016 08:33:19 -0000 1.27
+++ Makefile 1 Sep 2016 09:22:13 -0000
@@ -10,6 +10,7 @@ COMMENT-doc = html documentation for ru
V = 1.11.0
BV = 1.11.0-20160819
DISTNAME = rustc-${V}-src
+REVISION = 0
#RUST_HASH != echo -n ${V} | md5 | cut -c1-8
RUST_HASH = 39b92f95
@@ -88,7 +89,8 @@ CONFIGURE_ARGS += --disable-valgrind-rpa
# VERSION and BOOTSTRAP are same version
.if ${V} == ${BV:C/-[0-9]+$//}
-CONFIGURE_ARGS += --enable-local-rebuild
+CONFIGURE_ARGS += --enable-local-rebuild \
+
--local-rust-root="${WRKDIR}/rustc-bootstrap-${MACHINE_ARCH}-${BV}"
.endif
CONFIGURE_ENV += ac_cv_header_execinfo_h=no
@@ -111,7 +113,7 @@ pre-configure:
# - copy libestdc++ from MODGCC4 to specific directory
# in order to disambiguate version linking (having multiple libestdc++
# at build time)
-# - copy bootstrap in stage0 (avoid downloading)
+# - copy bootstrap in stage0 (permit copying bootstrapped libs in stage0)
post-configure:
.for _v in CFG_CURL CFG_GIT CFG_CLANG CFG_VALGRIND CFG_PERF CFG_ISCC \
CFG_JAVAC CFG_ANTLR4 CFG_BISON CFG_PANDOC CFG_GDB CFG_LLDB \