NetBSD Problem Report #54453

From www@netbsd.org  Sat Aug 10 16:54:22 2019
Return-Path: <www@netbsd.org>
Received: from mail.netbsd.org (mail.netbsd.org [199.233.217.200])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "mail.NetBSD.org", Issuer "mail.NetBSD.org CA" (not verified))
	by mollari.NetBSD.org (Postfix) with ESMTPS id C96297A167
	for <gnats-bugs@gnats.NetBSD.org>; Sat, 10 Aug 2019 16:54:21 +0000 (UTC)
Message-Id: <20190810165420.F10FA7A1B9@mollari.NetBSD.org>
Date: Sat, 10 Aug 2019 16:54:20 +0000 (UTC)
From: joernc@gmail.com
Reply-To: joernc@gmail.com
To: gnats-bugs@NetBSD.org
Subject: lang/rust installs incomplete on NetBSD 8.1/amd64
X-Send-Pr-Version: www-1.0

>Number:         54453
>Category:       pkg
>Synopsis:       lang/rust installs incomplete on NetBSD 8.1/amd64 (non-standard PREFIX)
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    gdt
>State:          feedback
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Aug 10 16:55:00 +0000 2019
>Closed-Date:    
>Last-Modified:  Fri Jan 01 20:45:01 +0000 2021
>Originator:     Joern Clausen
>Release:        8.1
>Organization:
>Environment:
>Description:
lang/rust builds and installs without error on NetBSD 8.1/amd64, but the package is incomplete:

$ pkg_info -L rust-1.36.0
Information for rust-1.36.0:

Files:
/vol/pkg/20190803/etc/bash_completion.d/cargo
/vol/pkg/20190803/man/man1/cargo-bench.1
/vol/pkg/20190803/man/man1/cargo-build.1
/vol/pkg/20190803/man/man1/cargo-check.1
...
/vol/pkg/20190803/man/man1/cargo.1
/vol/pkg/20190803/man/man1/rustc.1
/vol/pkg/20190803/man/man1/rustdoc.1

i.e. essentially only man-pages are installed. work/rust-bootstrap seems to contain binaries and other stuff that was built successfully, especially bin/rustc and bin/cargo.
>How-To-Repeat:
I have bootstrapped pkgsrc with an unprivileged user outside /usr/pkgsrc and do not install to /usr/pkg (see this thread for context: https://mail-index.netbsd.org/netbsd-users/2019/08/08/msg023310.html). At the moment I don't have the resources (disk space) to repeat the build with standard paths.
>Fix:

>Release-Note:

>Audit-Trail:

State-Changed-From-To: open->feedback
State-Changed-By: gdt@NetBSD.org
State-Changed-When: Fri, 12 Jun 2020 17:29:16 +0000
State-Changed-Why:
The version reported about is old, and I think this is no longer a problem.
Please either request closure or send up-to-date problem information


Responsible-Changed-From-To: pkg-manager->gdt
Responsible-Changed-By: gdt@NetBSD.org
Responsible-Changed-When: Fri, 12 Jun 2020 17:30:04 +0000
Responsible-Changed-Why:
Subscribing to replies, and note-to-self to close if no responsee.


From: "Havard Eidnes" <he@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc: 
Subject: PR/54453 CVS commit: pkgsrc/lang/rust
Date: Fri, 1 Jan 2021 20:44:49 +0000

 Module Name:	pkgsrc
 Committed By:	he
 Date:		Fri Jan  1 20:44:49 UTC 2021

 Modified Files:
 	pkgsrc/lang/rust: Makefile distinfo options.mk
 	pkgsrc/lang/rust/patches: patch-src_bootstrap_builder.rs
 Added Files:
 	pkgsrc/lang/rust/patches:
 	    patch-compiler_rustc__codegen__ssa_src_back_linker.rs
 	    patch-compiler_rustc__llvm_build.rs
 	    patch-compiler_rustc__target_src_spec_netbsd__base.rs
 	    patch-compiler_rustc__target_src_spec_solaris__base.rs
 	    patch-compiler_rustc__target_src_spec_x86__64__sun__solaris.rs
 	    patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure
 	    patch-library_std_src_os_linux_fs.rs patch-vendor_net2_src_ext.rs
 	    patch-vendor_openssl-src_src_lib.rs
 Removed Files:
 	pkgsrc/lang/rust/patches:
 	    patch-src_librustc__codegen__ssa_back_linker.rs
 	    patch-src_librustc__llvm_build.rs
 	    patch-src_librustc__target_spec_netbsd__base.rs
 	    patch-src_librustc__target_spec_solaris__base.rs
 	    patch-src_librustc__target_spec_x86__64__sun__solaris.rs

 Log Message:
 Upgrade rust to version 1.48.0.

 Pkgsrc changes:
  * Compensate for files being moved around upstream.
  * Introduce optional, on-by-default semi-static building of cargo,
    using the internal curl and openssl sources.  This reduces the dynamic
    dependencies of cargo and therefore the rust package itself.
    Ref. options.mk.
  * The 1.47.0 bootstrap kits have been re-built with the above option
    turned on, so no longer depends on curl or openssl from pkgsrc and/or
    from earlier OS or pkgsrc versions.  This should hopefully fix
    installation of rust with non-default PREFIX, ref. PR#54453.

 Upstream changes:

 Version 1.48.0 (2020-11-19)
 ==========================

 Language
 --------
 - [The `unsafe` keyword is now syntactically permitted on modules.][75857] This
   is still rejected *semantically*, but can now be parsed by procedural macros.

 Compiler
 --------
 - [Stabilised the `-C link-self-contained=<yes|no>` compiler flag.][76158]
   This tells `rustc` whether to link its own C runtime and libraries
   or to rely on a external linker to find them. (Supported only on
   `windows-gnu`, `linux-musl`, and `wasi` platforms.)
 - [You can now use `-C target-feature=+crt-static` on `linux-gnu` targets.]
   [77386]
   Note: If you're using cargo you must explicitly pass the `--target` flag.
 - [Added tier 2\* support for `aarch64-unknown-linux-musl`.][76420]

 \* Refer to Rust's [platform support page][forge-platform-support] for more
 information on Rust's tiered platform support.

 Libraries
 ---------
 - [`io::Write` is now implemented for `&ChildStdin` `&Sink`, `&Stdout`,
   and `&Stderr`.][76275]
 - [All arrays of any length now implement `TryFrom<Vec<T>>`.][76310]
 - [The `matches!` macro now supports having a trailing comma.][74880]
 - [`Vec<A>` now implements `PartialEq<[B]>` where `A: PartialEq`.][74194]
 - [The `RefCell::{replace, replace_with, clone}` methods now all use
   `#[track_caller]`.][77055]

 Stabilized APIs
 ---------------
 - [`slice::as_ptr_range`]
 - [`slice::as_mut_ptr_range`]
 - [`VecDeque::make_contiguous`]
 - [`future::pending`]
 - [`future::ready`]

 The following previously stable methods are now `const fn`'s:

 - [`Option::is_some`]
 - [`Option::is_none`]
 - [`Option::as_ref`]
 - [`Result::is_ok`]
 - [`Result::is_err`]
 - [`Result::as_ref`]
 - [`Ordering::reverse`]
 - [`Ordering::then`]

 Cargo
 -----

 Rustdoc
 -------
 - [You can now link to items in `rustdoc` using the intra-doc link
   syntax.][74430] E.g. ``/// Uses [`std::future`]`` will automatically generate
   a link to `std::future`'s documentation. See ["Linking to items by
   name"][intradoc-links] for more information.
 - [You can now specify `#[doc(alias = "<alias>")]` on items to add
   search aliases when searching through `rustdoc`'s UI.][75740]

 Compatibility Notes
 -------------------
 - [Promotion of references to `'static` lifetime inside `const fn`
   now follows the same rules as inside a `fn` body.][75502] In
   particular, `&foo()` will not be promoted to `'static` lifetime
   any more inside `const fn`s.
 - [Associated type bindings on trait objects are now verified to meet the bounds
   declared on the trait when checking that they implement the trait.][27675]
 - [When trait bounds on associated types or opaque types are ambiguous, the
   compiler no longer makes an arbitrary choice on which bound to use.][54121]
 - [Fixed recursive nonterminals not being expanded in macros during
   pretty-print/reparse check.][77153] This may cause errors if your macro wasn't
   correctly handling recursive nonterminal tokens.
 - [`&mut` references to non zero-sized types are no longer promoted.][75585]
 - [`rustc` will now warn if you use attributes like `#[link_name]` or `#[cold]`
   in places where they have no effect.][73461]
 - [Updated `_mm256_extract_epi8` and `_mm256_extract_epi16` signatures in
   `arch::{x86, x86_64}` to return `i32` to match the vendor signatures.][73166]
 - [`mem::uninitialized` will now panic if any inner types inside
   a struct or enum disallow zero-initialization.][71274]
 - [`#[target_feature]` will now error if used in a place where it
   has no effect.][78143]
 - [Foreign exceptions are now caught by `catch_unwind` and will
   cause an abort.][70212] Note: This behaviour is not guaranteed
   and is still considered undefined behaviour, see the [`catch_unwind`]
   documentation for further information.

 Internal Only
 -------------
 These changes provide no direct user facing benefits, but represent significant
 improvements to the internals and overall performance of rustc and
 related tools.

 - [Building `rustc` from source now uses `ninja` by default over `make`.][74922]
   You can continue building with `make` by setting `ninja=false` in
   your `config.toml`.
 - [cg_llvm: `fewer_names` in `uncached_llvm_type`][76030]
 - [Made `ensure_sufficient_stack()` non-generic][76680]

 [78143]: https://github.com/rust-lang/rust/issues/78143
 [76680]: https://github.com/rust-lang/rust/pull/76680/
 [76030]: https://github.com/rust-lang/rust/pull/76030/
 [70212]: https://github.com/rust-lang/rust/pull/70212/
 [27675]: https://github.com/rust-lang/rust/issues/27675/
 [54121]: https://github.com/rust-lang/rust/issues/54121/
 [71274]: https://github.com/rust-lang/rust/pull/71274/
 [77386]: https://github.com/rust-lang/rust/pull/77386/
 [77153]: https://github.com/rust-lang/rust/pull/77153/
 [77055]: https://github.com/rust-lang/rust/pull/77055/
 [76275]: https://github.com/rust-lang/rust/pull/76275/
 [76310]: https://github.com/rust-lang/rust/pull/76310/
 [76420]: https://github.com/rust-lang/rust/pull/76420/
 [76158]: https://github.com/rust-lang/rust/pull/76158/
 [75857]: https://github.com/rust-lang/rust/pull/75857/
 [75585]: https://github.com/rust-lang/rust/pull/75585/
 [75740]: https://github.com/rust-lang/rust/pull/75740/
 [75502]: https://github.com/rust-lang/rust/pull/75502/
 [74880]: https://github.com/rust-lang/rust/pull/74880/
 [74922]: https://github.com/rust-lang/rust/pull/74922/
 [74430]: https://github.com/rust-lang/rust/pull/74430/
 [74194]: https://github.com/rust-lang/rust/pull/74194/
 [73461]: https://github.com/rust-lang/rust/pull/73461/
 [73166]: https://github.com/rust-lang/rust/pull/73166/
 [intradoc-links]: https://doc.rust-lang.org/rustdoc/linking-to-items-by-name.html
 [`catch_unwind`]: https://doc.rust-lang.org/std/panic/fn.catch_unwind.html
 [`Option::is_some`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_some
 [`Option::is_none`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.is_none
 [`Option::as_ref`]: https://doc.rust-lang.org/std/option/enum.Option.html#method.as_ref
 [`Result::is_ok`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.is_ok
 [`Result::is_err`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.is_err
 [`Result::as_ref`]: https://doc.rust-lang.org/std/result/enum.Result.html#method.as_ref
 [`Ordering::reverse`]: https://doc.rust-lang.org/std/cmp/enum.Ordering.html#method.reverse
 [`Ordering::then`]: https://doc.rust-lang.org/std/cmp/enum.Ordering.html#method.then
 [`slice::as_ptr_range`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_ptr_range
 [`slice::as_mut_ptr_range`]: https://doc.rust-lang.org/std/primitive.slice.html#method.as_mut_ptr_range
 [`VecDeque::make_contiguous`]: https://doc.rust-lang.org/std/collections/struct.VecDeque.html#method.make_contiguous
 [`future::pending`]: https://doc.rust-lang.org/std/future/fn.pending.html
 [`future::ready`]: https://doc.rust-lang.org/std/future/fn.ready.html


 To generate a diff of this commit:
 cvs rdiff -u -r1.208 -r1.209 pkgsrc/lang/rust/Makefile
 cvs rdiff -u -r1.122 -r1.123 pkgsrc/lang/rust/distinfo
 cvs rdiff -u -r1.7 -r1.8 pkgsrc/lang/rust/options.mk
 cvs rdiff -u -r0 -r1.1 \
     pkgsrc/lang/rust/patches/patch-compiler_rustc__codegen__ssa_src_back_linker.rs \
     pkgsrc/lang/rust/patches/patch-compiler_rustc__llvm_build.rs \
     pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_netbsd__base.rs \
     pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_solaris__base.rs \
     pkgsrc/lang/rust/patches/patch-compiler_rustc__target_src_spec_x86__64__sun__solaris.rs \
     pkgsrc/lang/rust/patches/patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure \
     pkgsrc/lang/rust/patches/patch-library_std_src_os_linux_fs.rs \
     pkgsrc/lang/rust/patches/patch-vendor_openssl-src_src_lib.rs
 cvs rdiff -u -r1.11 -r1.12 \
     pkgsrc/lang/rust/patches/patch-src_bootstrap_builder.rs
 cvs rdiff -u -r1.1 -r0 \
     pkgsrc/lang/rust/patches/patch-src_librustc__codegen__ssa_back_linker.rs \
     pkgsrc/lang/rust/patches/patch-src_librustc__target_spec_netbsd__base.rs \
     pkgsrc/lang/rust/patches/patch-src_librustc__target_spec_x86__64__sun__solaris.rs
 cvs rdiff -u -r1.6 -r0 \
     pkgsrc/lang/rust/patches/patch-src_librustc__llvm_build.rs
 cvs rdiff -u -r1.4 -r0 \
     pkgsrc/lang/rust/patches/patch-src_librustc__target_spec_solaris__base.rs
 cvs rdiff -u -r0 -r1.3 pkgsrc/lang/rust/patches/patch-vendor_net2_src_ext.rs

 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.

>Unformatted:

 I checked the installed rust 1.42.0 package, that I built myself last
 week, on a NetBSD 8.2_STABLE system on 2020Q1, and it is ok.  So this
 is likely either fixed, or only about unusual prefixes.

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.46 2020/01/03 16:35:01 leot Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.