NetBSD Problem Report #54453

From  Sat Aug 10 16:54:22 2019
Return-Path: <>
Received: from ( [])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(Client CN "", Issuer " CA" (not verified))
	by (Postfix) with ESMTPS id C96297A167
	for <>; Sat, 10 Aug 2019 16:54:21 +0000 (UTC)
Message-Id: <>
Date: Sat, 10 Aug 2019 16:54:20 +0000 (UTC)
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
>Last-Modified:  Fri Jan 01 20:45:01 +0000 2021
>Originator:     Joern Clausen
>Release:        8.1
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:


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.
I have bootstrapped pkgsrc with an unprivileged user outside /usr/pkgsrc and do not install to /usr/pkg (see this thread for context: At the moment I don't have the resources (disk space) to repeat the build with standard paths.



State-Changed-From-To: open->feedback
State-Changed-When: Fri, 12 Jun 2020 17:29:16 +0000
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-When: Fri, 12 Jun 2020 17:30:04 +0000
Subscribing to replies, and note-to-self to close if no responsee.

From: "Havard Eidnes" <>
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
 Added Files:
 Removed Files:

 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.
  * 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)

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

 - [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.]
   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.

 - [`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

 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`]


 - [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]


 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/
 cvs rdiff -u -r0 -r1.1 \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/patch-library_backtrace_crates_backtrace-sys_src_libbacktrace_configure \
     pkgsrc/lang/rust/patches/ \
 cvs rdiff -u -r1.11 -r1.12 \
 cvs rdiff -u -r1.1 -r0 \
     pkgsrc/lang/rust/patches/ \
     pkgsrc/lang/rust/patches/ \
 cvs rdiff -u -r1.6 -r0 \
 cvs rdiff -u -r1.4 -r0 \
 cvs rdiff -u -r0 -r1.3 pkgsrc/lang/rust/patches/

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


 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:,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2020 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.