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
