Description
Description
Debian deploys a multiarch schema. For Rust, librustc_driver-*.so
and other shared libraries needed for rustc
to run are installed to /usr/lib/x86_64-linux-gnu
on x86_64. And rustlib
directory is installed as /usr/lib/rustlib
.
During Rust build, Debian just lets x.py
install the shared libraries to /usr/lib
, and then manually moves them to /usr/lib/x86_64-linux-gnu
.
This works before 1.67.
But since 1.67, rustc
will fail to find std
crate, since rustc
tries to find rustlib
directory through a relative path based on librustc_driver-*.so
. rustc
guesses rustlib
directory is /usr/lib/x86_64-linux-gnu/../lib/rustlib
aka /usr/lib/lib/rustlib
, which does not exist.
To work around this, Ubuntu deploys a downstream patch. But as discussed with @bjorn3, that patch actually breaks what Rust 1.67 trying to get.
I hope Rust upstream can provide a better solution for this installation schema to work without downstream patch.
Version it worked on
It most recently worked on: Rust 1.66.1
Version with regression
1.67