On 09/16/2018 06:56 PM, Ken Moffat via blfs-dev wrote:
On Sun, Sep 09, 2018 at 12:51:14AM +0100, Ken Moffat via blfs-dev wrote:
On Fri, Sep 07, 2018 at 08:42:48AM +0200, gabriele balducci via blfs-dev wrote:
hello

as you might have noticed, ff-63 (dev) requires a new rust package:
cbindgen (generate C/C++ bindings for rust crates).


(updated with more details of other changes and what I propose to do)

Build instructions can be found at arch's site:

  https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=cbindgen

Sadly, build is at least opaque, to use a delicate euphemism.

ciao
gabriele

Thanks for the Heads Up.  I see it was added to AUR by "Your Name"
which, like everything else related to rust, does not fill me with
confidence.

I probably won't be looking at 63-beta for a week or two.

Updatd deps:
-----------

I've now finally managed to build 63b9 and run it from the build
directory using ./mach run.  Seems to work ok, but the deps are
getting heavier.

1. It needs newer rustc (at least 1.28.0)

I've been testing with 1.29.0 and using python3 to build that.  I had
earlier given up on using python3 for rust because of odd failures
(error happens, status is 0, build continues, fails to install but
reports success).  I've now seen similar failures with firefox, so I
conclude that this is a feature of people rewriting build systems in
python and not caring about errors they don't expect.

I've now given it three runs: using python3 with python2 progs and
their -config all hidden, with those reinstated and using python2,
again usign python3 with python2 still available (there are parts of
the shipped LLVM code which explicitly use 2.7, but AFAICS using
system LLVM avoids that.

Comparing the bleeding edge : Arch now use python2, but they also
use the shipped LLVM.  Fedora use python3.

The docs still say python2, but anything to move away from that has
got to help.  AFAICS, apart from the shipped LLVM (and, indeed,
released LLVM which apparently still needs python2), some other
architectures might also need it - but all we care about in the book
is x86.

And as somebody mentioned somewhere, quiet-tests = true is no-longer
recognized in rustc's config.toml and causes the build to stop.

2. cbindgen.

Confirmed it is required.  Latest version is 0.6.3, build with
  cargo build --release (downloads 8MB of cargo files)
optionally test with
  cargo test (adds 296 MB to the build directory)
then install target/release/cbindgen in $PREFIX/bin/

Obviously, for the book $PREFIX will be /usr, but I have installed
this, and the newer rustc, in /opt/new for testing (rustc might
break things).

And cbindgen does not build with the cargo from rustc-1.25.0.

I think the oddities/deps at fedora which I previously noted were
because they do not want builds to download cargo files.

3. node-js is now recommended.

For 63.0 (due out on 23rd October) it can be disabled, but for 64.0
(due 11th December) it will be required.  More details at
https://groups.google.com/forum/#!msg/mozilla.dev.builds/RaeGCwcPYg8/BylibHAxCwAJ

Status:
------

With those changes, it builds and seems to run ok.

I am also interested in trying to build with LLVM (we know it is
installed, for rustc), also at phoronix was a suggestion that it
might optimize things in rust code - or something like that.

And I'm still planning to test the patch for system graphite2 and
harfbuzz, although I'm starting to recognize that firefox is
definitely going the way of chromium in wanting its own forks of
everything and at this rate they'll soon not be using many system
libs.

Further testing of rustc:
------------------------

Because rustc is now used by firefox (ff62 in the book), librsvg, and
seamonkey, I now need to confirm that the latest rustc can build and
DESTDIR all of those.  If not, things will get interesting. :-(

Anything else I ought to test for this ?

It really sounds like the complexity of rustc and FF is really getting ugly. I wish there was a decent alternative that handled what's needed.

I really question the supposed advantages of rustc given the build complexity. Huge packages, numerous cargo files (my .cargo directory is about 493 MB) do not yield to confidence, especially security.

 -- Bruce

--
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