In discussions with Bruce last night, he persuaded me that we should
use /opt/rustc (symlink to /opt/rustc-version).  I've just put in my
initial text for 1.32.0, still using /usr.  This mail is to note
that I want people to be able to continue using their current
version in /usr until they next upgrade.  For that, I'm guessing
that exporting PATH=/opt/rustc/bin:$PATH on every package that can
use rust will do the job (works even if /opt/rustc does not exist).

Reasons to do this:

1. Library space.  Each rust library has a hash in its name, and
there is no way to say "delete all the rust libaries from version
1.29.2" after installing a newer version.

2. Keeping an older version, if people wish to compare the results.
Someone might need to do this when developing in rust, or tracking
down a build failure.  Although all the old libraries can still be
there in /usr, the programs will be linked to the most-recently
installed version.

3. Dealing with catastrophic failures.  I have now established that
installing 1.32.0 using the system LLVM (bad idea), and then
reinstalling 1.32.0 in the same prefix with a different config.toml
that uses the shipped LLVM causes breakage (library crates from
*previous* versions are found, but not those from 1.32.0).  when
installing in /usr, just blowing the rust libraries away will do the
job, but using /opt with a symlink allows multiple versions to be
kept, as well as making it easy to delete them when no-longer
needed.

I suspect that if multiple versions are available, it might be
necessary to run ldconfig after changing the symlink (e.g. to point
to an older version).

ĸen
-- 
thread 'main' panicked at 'giraffe',
/tmp/rustc-1.32.0-src/src/test/run-fail/while-panic.rs:17:13
-- 
http://lists.linuxfromscratch.org/listinfo/blfs-dev
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page

Reply via email to