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 ? ĸen -- Tout est bien, tout va bien, tout va pour le mieux qu'il soit possible -- Candide, de Voltaire (Everything is for the best, in the best of all possible worlds) -- http://lists.linuxfromscratch.org/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
