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: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat Aug 10 16:55:00 +0000 2019
>Closed-Date: Thu Jun 17 00:35:55 +0000 2021
>Last-Modified: Thu Jun 17 00:35:55 +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.
State-Changed-From-To: feedback->closed
State-Changed-By: dholland@NetBSD.org
State-Changed-When: Thu, 17 Jun 2021 00:35:55 +0000
State-Changed-Why:
No feedback in a year.
>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.
(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.