Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 628058 - app-eselect/eselect-rust fails to set / unset / update rust
Summary: app-eselect/eselect-rust fails to set / unset / update rust
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Rust Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-08-16 21:19 UTC by Uwe Sauter
Modified: 2020-10-15 22:40 UTC (History)
6 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Uwe Sauter 2017-08-16 21:19:11 UTC
Packages installed:
app-eselect/eselect-rust-0.3_pre20150428{tbz2}
dev-lang/rust-1.19.0
virtual/rust-1.19.0

# eselect rust list
Available Rust versions:
  [1]   rust-1.19.0
# eselect rust set 1
!!! Error: Target "1" doesn't appear to be valid!
exiting
# eselect rust unset
!!! Error: /usr/bin/rustdoc exists but is not a symlink
exiting
# eselect rust update
!!! Error: Target "1" doesn't appear to be valid!
exiting


Expected behavior: eselect sets / unsets / updates to the selected / newest rust version.
Comment 1 Ulenrich 2017-08-23 12:27:31 UTC
I do have the same issue
Comment 2 Jonas Stein gentoo-dev 2017-08-26 11:41:00 UTC
confirmed by Ulenrich
Comment 3 Ryan Harris 2017-09-23 18:13:20 UTC
This is cause by the fact that dev-lang/rust-1.19.0 doesn't install a 'versioned' binary and instead installs to /usr/bin/rustc , /usr/bin/rustdoc, ect... directly. Previous versions of rust work fine with eselect-rust.
Comment 4 Oleh 2017-09-26 04:21:36 UTC
an excerpt of a diff between 1.16 to 1.19 :

-	mv "${D}/usr/bin/rustc" "${D}/usr/bin/rustc-${PV}" || die
-	mv "${D}/usr/bin/rustdoc" "${D}/usr/bin/rustdoc-${PV}" || die
-	mv "${D}/usr/bin/rust-gdb" "${D}/usr/bin/rust-gdb-${PV}" || die
-
+	local obj="build/${TRIPLE}/stage2"
+	dobin "${obj}/bin/rustc" "${obj}/bin/rustdoc"
+	dobin src/etc/rust-gdb src/etc/rust-lldb
+	insinto "/usr/$(get_libdir)"
+	doins -r "${obj}/lib/"*
 	dodoc COPYRIGHT
-
-	dodir "/usr/share/doc/rust-${PV}/"
-	mv "${D}/usr/share/doc/rust"/* "${D}/usr/share/doc/rust-${PV}/" || die
-	rmdir "${D}/usr/share/doc/rust/" || die
+	doman man/*

was it just unintentional and not checked since ebuilds calls eselect rust in post-installation phase? this would be obvious cause of a problem
Comment 5 Georgy Yakovlev archtester gentoo-dev 2020-02-22 10:28:58 UTC
I believe it was fixed a while ago. closing. reopen if you still have problems with current versions.
Comment 6 Ștefan Talpalaru 2020-10-15 11:20:40 UTC
It's still a problem:

root# eselect rust list
Available Rust versions:
  [1]   rust-1.45.0 *
  [2]   rust-bin-1.47.0

root# eselect rust set 2
!!! Error: /usr/lib/rustlib exists but is not a symlink
exiting
Comment 7 Georgy Yakovlev archtester gentoo-dev 2020-10-15 22:40:17 UTC
^
different problem,  similar symptom.
it should go away if you don't have pre-1.47, but I'll push a fix soon for 1.47.