#8951: rustc will apparently be needed for firefox-53.
-------------------------+-----------------------
Reporter: ken@… | Owner: ken@…
Type: enhancement | Status: assigned
Priority: normal | Milestone: 8.1
Component: BOOK | Version: SVN
Severity: normal | Resolution:
Keywords: |
-------------------------+-----------------------
Comment (by ken@…):
A few comments before I set this aside for a few days:
1. 1.16 is due for release on St Patrick's day. This is currently the beta
branch and includes the commit which may allow DESTDIR builds with
rustbuild. I say ''may'' because I can't build that branch and the commit
looks unlikely, with a description which suggests it might be a first
stage.
2. At the moment, the stable branch is essentially at 1.15.1, looks as if
that will be the last 1.15 release. I see that Arch were using 1.14.0 when
I last looked - if we '''have to''' build this, we might need to use a
not-latest version. For 1.15.1 DESTDIR works and it is also possible to
prevent it installing (but not building) arches such as AArch64, MIPS,
PowerPC, etc.
3. In both the master (development) and beta branches I get similar errors
(using rustbuild, it cannot be disabled in those versions). At first I
thought this was a missing file, but the original error is some way above
that - a file which is named as if it is a script, but is actually an ELF
file, fails without explanation.
4. There are references to running ./x.py in the configure output, but
1.15.1 does not have that. Using the master branch, I _thought_ I had
persuaded that to use config.toml to override certain defaults. But after
returning to 1.15.1 to get something that would actually build and
install, I found it installed in /usr/local instead of my intended
/opt/rust (I don't want a real install until I can tune it, that is a
next-best place in the absence of DESTDIR) and apparently ignored all the
settings I had provided. Possibly, config.toml is only useful where ./x.py
can be invoked.
5. With rustbuild there is (theoretically, in the light of point 4 above)
an option to specify a different number of codegen-units : this seems to
NOT be the same as 'make -jN'. From what I can see, rustbuild forces its
own optimizations (-O3) on release builds, and the codegen-units seem to
be soemthing along the lines of "build more quickly, but with poor code,
or build more slowly with good code" - for releases, the latter option is
chosen. This seems to be aimed at "build once on a build server, deploy
widely", rather than "build for the machine you are using".
6. And rustbuild appears to grab all the cores of hte build machine when
it can (from time to time, e.g. linking or copying a solib to somewhere,
only 100% CPU is used, but on my i7 it gets close to 800% usage for some
of the build.
7. With old-fashioned configure builds, it is possible to restrict which
architectures get installed (although they all appear to get compiled - I
was surprised that system LLVM with only the host architecture managed to
do this). In master this can apparently be done in config.toml.
8. On a powerful machine, building rust takes a lot longer than building
LLVM. I suggest that if we have to build this, we should encourage people
who upgrade firefox to use their current LLVM and rust versions whilst
those are still adequate - for the moment, it looks as if current rust
will not be ready for LLVM > 3.9 (at the moment there is a test for 3.7 to
3.9 as the only supported versions).
--
Ticket URL: <http://wiki.linuxfromscratch.org/blfs/ticket/8951#comment:4>
BLFS Trac <http://wiki.linuxfromscratch.org/blfs>
Beyond Linux From Scratch
--
http://lists.linuxfromscratch.org/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page