Ken Moffat wrote:
On Sun, Jan 21, 2018 at 04:58:22AM +0000, Ken Moffat wrote:
I'll be putting rustc-1.23.0 into the book soon
Or maybe I won't. I've had weird rust panics when building as a
user (unrepeatable), and building as root (only advisable if you
have good backups!) several builds where my package script exited
with good status after the build (or after the tests). The previous
versions (1.21.0, 1.22.1) had none of those issues.
So, I was not especially *happy* about putting this version into the
book, but resigned to it. I had previously measured a build (time,
space), but I forgot to check the size of the ~/.cargo files. Also,
it occurred to me that if root installs after a user build, root
might need to download some of the cargo files (in fact, root
downloaded all 235MB of them in my case).
But when I became root and tried a DESTDIR install a LOT of extra
time was spent building the various cargo files (so far, so
annoying) and then the install eventually failed because libssl2 was
missing. Trying to do a real install then failed in the same way,
so I reinstalled in an all-root build, without adding libssl2.
Until that time I had never heard of libssl2, and I've no idea why
it was suddenly needed. But this series of issues makes me distrust
this version of rustc.
But Bruce built 1.23.0 as a user and then installed as root without
any problems (apart from with an unset DESTDIR variable when he
wanted to do a real install), and without root downloading cargo
files or apparently rebuilding them.
Looking at other distros -
gentoo : Still on 1.19.0, they will have to change if they add
firefox-58.0 or latest librsvg.
debian : 1.23.0 moved into sid (unstable) two days ago. I can't see
anything special in what they do, but I think they do DESTDIR
installs which are then packaged up.
arch : Using 1.23.0, but everything in arch is a DESTDIR install.
fedora : No idea, I couldn't find it - their rustc seems to be
something entirely different. Maybe they use previous rust to build
current rust.
The problem with putting a DESTDIR install into the book is that it
uses over 460MB of extra space.
I think I'm going to look more deeply at rust-1.22.1, particularly
at whether it seems to build reliably as a user with a root DESTDIR
install, and whether or not it is good enough for new librsvg.
Meanwhile, my current comments on rustc-1.23.0 rhyme with "block of
white".
I looked at arch also and did a DESTDIR install. I used:
cat << EOF > config.toml
# see src/bootstrap/config.toml.example for more possible options
[llvm]
targets = "X86"
[build]
# install cargo as well as rust
cargo = "/usr/bin/cargo"
rustc = "/usr/bin/rustc"
extended = true
verbose = 1
[install]
prefix = "/usr"
docdir = "share/doc/rustc-$VER"
[rust]
codegen-units = 0
debuginfo = true
# Whether or not line number debug information is emitted
#debuginfo-lines = false
channel = "stable"
EOF
####
python x.py build --jobs=10
DESTDIR="$DEST" python x.py install
----------
Those [rust] entries seemed to help. No files were downloaded.
SBU=21.168
BUILD SIZE=4.2G including installed files.
Included in that 4.2G is 581M. The space is taken up with:
83M /usr/bin (34M stripped)
365M /usr/lib (333M stripped)
134M /usr/share Almost all in html documentation
looking at the output of ldd, I think we need a way to not have the system
use rpath. I think there is a way to do that. I'll try adding rpath =
true to the [rust] portion of config.toml.
For some reason arch removes:
-rw-r--r-- 1 132 Jan 21 20:15 usr/lib/rustlib/components
-rw-r--r-- 1 3430 Jan 21 20:15 usr/lib/rustlib/manifest-rustc
-rw-r--r-- 1 2 Jan 21 20:15 usr/lib/rustlib/rust-installer-version
but I do not see what harm those do.
-- Bruce
--
http://lists.linuxfromscratch.org/listinfo/blfs-support
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page