tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: rust 1.33.0 bootstrap fails on NetBSD/aarch64



Thank you for your rapid response.

However, it does not work. I missed an error message:

----
error: couldn't load codegen backend "/build/pkgsrc/lang/rust/work.aarch64/rust-bootstrap/lib/rustlib/aarch64-unknown-netbsd/codegen-backends/librustc_codegen_llvm-llvm.so": "/build/pkgsrc/lang/rust/work.aarch64/rust-bootstrap/lib/rustlib/aarch64-unknown-netbsd/codegen-backends/librustc_codegen_llvm-llvm.so: Undefined PLT symbol \"_ZNSt15__exception_ptr13exception_ptrC1ERKS0_\" (symnum = 4197)"
----

This should be due to a recent ABI change for libstdc++:
http://cvsweb.netbsd.org/bsdweb.cgi/src/tools/gcc/Makefile#rev1.92

Actually, if libstdc++.so.8.2 from 2019-02-22 is installed into
rust-bootstrap/lib, the error disappears (with original Makefile).
However, GCC crashes instead:

----
  = note: /build/pkgsrc/lang/rust/work.aarch64/.gcc/bin/gcc: Undefined PLT symbol "_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE9_M_createERmm" (symnum = 22)
----

Thanks,
rin

On 2019/03/05 12:27, Ryo ONODERA wrote:
Hi,

he@'s bootstrap kits may lack RPATH $ORIGIN because they are
created in pkgsrc framework.
And it seems that PKGSRC_MAKE_ENV is not used custom do-build target of
lang/rust package.

I am not sure about what is intended to use PKGSRC_MAKE_ENV,
however the following patch may fix your build.

Index: lang/rust/Makefile
===================================================================
RCS file: /cvsroot/pkgsrc/lang/rust/Makefile,v
retrieving revision 1.88
diff -u -r1.88 Makefile
--- lang/rust/Makefile	4 Mar 2019 15:37:54 -0000	1.88
+++ lang/rust/Makefile	5 Mar 2019 03:24:47 -0000
@@ -89,7 +89,7 @@
  # Getting RPATH with $ORIGIN into bootstrap may be troublesome, so
  # uncommenting the LD_LIBRARY_PATH setting may be required to run
  # the bootstrap
-PKGSRC_MAKE_ENV+=	LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
+MAKE_ENV+=	LD_LIBRARY_PATH=${RUST_BOOTSTRAP_PATH:Q}/lib
.if !empty(MACHINE_PLATFORM:MNetBSD-*-powerpc)
  # Bootstrapping on NetBSD/powerpc requires no debug-info from rustc


From: Rin Okuyama <rokuyama.rk%gmail.com@localhost>, Date: Tue, 5 Mar 2019 12:10:53 +0900

Hi,

Bootstrap fails on NetBSD/aarch64 (built from -HEAD as of today):

----
% cd /usr/pkgsrc/lang/rust && make
...
RuntimeError: failed to run:
/build/pkgsrc/lang/rust/work.aarch64/rust-bootstrap/bin/cargo build
--manifest-path
/build/pkgsrc/lang/rust/work.aarch64/rustc-1.33.0-src/src/bootstrap/Cargo.toml
--frozen
*** Error code 1

Stop.
make[1]: stopped in /usr/pkgsrc/lang/rust
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/lang/rust
----

Here, rustc cannot find shared libraries:

----
% /build/pkgsrc/lang/rust/work.aarch64/rust-bootstrap/bin/rustc -vV
/build/pkgsrc/lang/rust/work.aarch64/rust-bootstrap/bin/rustc: Shared
object "librustc_driver-a2d819b432607e40.so" not found
% ldd /build/pkgsrc/lang/rust/work.aarch64/rust-bootstrap/bin/rustc
/build/pkgsrc/lang/rust/work.aarch64/rust-bootstrap/bin/rustc:
         -lrustc_driver-a2d819b432607e40 => not found
         -lstd-de3e806b77351a11 => not found
         -lc.12 => /lib/libc.so.12
----

However, these libraries exist in working directories:

----
% find /build/pkgsrc/lang/rust/work.aarch64 -name
% 'librustc_driver-a2d819b432607e40.so'
/build/pkgsrc/lang/rust/work.aarch64/rust-1.33.0-aarch64-unknown-netbsd/rustc/lib/librustc_driver-a2d819b432607e40.so
/build/pkgsrc/lang/rust/work.aarch64/rust-1.33.0-aarch64-unknown-netbsd/rust-std-aarch64-unknown-netbsd/lib/rustlib/aarch64-unknown-netbsd/lib/librustc_driver-a2d819b432607e40.so
/build/pkgsrc/lang/rust/work.aarch64/rust-bootstrap/lib/rustlib/aarch64-unknown-netbsd/lib/librustc_driver-a2d819b432607e40.so
/build/pkgsrc/lang/rust/work.aarch64/rust-bootstrap/lib/librustc_driver-a2d819b432607e40.so
/build/pkgsrc/lang/rust/work.aarch64/rust-std-1.33.0-aarch64-unknown-netbsd/rust-std-aarch64-unknown-netbsd/lib/rustlib/aarch64-unknown-netbsd/lib/librustc_driver-a2d819b432607e40.so
----

Am I missing something?

Thanks,
rin

On 2019/03/04 7:23, Havard Eidnes wrote:
Module Name:	pkgsrc
Committed By:	he
Date:		Sun Mar  3 22:23:53 UTC 2019
Modified Files:
	pkgsrc/lang/rust: Makefile distinfo
Log Message:
Bump bootstrap kit for NetBSD/aarch64 to 1.33.0, for NetBSD/aarch64
8.99.34.

To generate a diff of this commit:
cvs rdiff -u -r1.84 -r1.85 pkgsrc/lang/rust/Makefile
cvs rdiff -u -r1.61 -r1.62 pkgsrc/lang/rust/distinfo

--
Ryo ONODERA // ryo%tetera.org@localhost
PGP fingerprint = 82A2 DC91 76E0 A10A 8ABB  FD1B F404 27FA C7D1 15F3



Home | Main Index | Thread Index | Old Index