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.
I do have the same issue
confirmed by Ulenrich
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.
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
I believe it was fixed a while ago. closing. reopen if you still have problems with current versions.
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
^ 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.