FF-89.0 build question
Running Slack64-current with all updates as of 1.6.21 (my time). Running the version 89.0 that Pat supplies and it works great. Wanted to build with pgo enabled so tried it after making the minor change (PGO=${PGO:-yes}) to the slackbuild. Build failed. Then ftp'd the build directory from my mirror and tried to build the completely stock version. Failed as well. From the build log using Eric's checkpkg.sh I see:
Code:
sh checkpkg.sh -l build.log Code:
38:31.44 ./node.stub.stub |
That is a somewhat old node.js in the firefox-build-deps directory. Try dropping in a newer one (e.g. 14.17.0 LTS... I'd stick with the latest LTS for that) or just unpack a binary and set a variable for it. I don't know if it's that, just that node.js is involved in the operations that are failing for you.
NODEJS=/path/to/unpackedtarball/bin/node I also do this: --disable-tests There was a time in the past when the PGO was scripted in the tests but that's no longer the case. The tests are not needed for PGO or normal builds. I have to say that I don't use a SlackBuild for this though. I use this in my .mozconfig and start it with ./mach build You could try such a build and see if it works for you. To install such a build (to --prefix) after successful completion, cd into obj-x86_64-pc-linux-gnu and simply "make install" This will use clang by default. I wouldn't try a PGO+LTO build with gcc anymore, I'd bet a million bucks on it failing. Code:
. $topsrcdir/browser/config/mozconfig It should not be necessary to --disable-elfhack with lld at this time, but it's such a gotcha that many distro packagers just use it all the time so their builds won't fail. The elf hack reduces relocations... significant for their fat assed libxul P.S. Needs autoconf 2.13 and cbindgen as well as node. The SlackBuild provides those for the build in firefox-build-deps |
I tried the mozilla-firefox.SlackBuild just for fun, and it bombed out on node.js. It compiled it, but the build didn't find it.
ERROR: could not find Node.js executable later than 10.23.1; ensure `node` or `nodejs` is in PATH or set NODEJS in environment to point to an executable. That's bollocks. /tmp is hard coded for those, the subscripts are not honouring my TMP variable. I'll try again. At least the node.js version there should be fine, according to mach. P.S. Out of the box, mozilla-firefox.SlackBuild failed for me with the same errors as you. Back to the drawing board... |
Thanks for your response and suggestions. Have another build try running after incorporating your suggestions. Will let you know how it turns out.
|
I can confirm that my PGO+LTO build method for firefox-89.0.source.tar.xz (the same tarball) still works on current slackware64-current, with cbindgen 0.19.0, node.js v14.17.0 LTS (and autoconf 2.13 built with --prefix=/usr/local --program-suffix=-2.13 so they can coexist and the build will find it)
I'm now going to try to find out why the mozilla-firefox.SlackBuild isn't working for us. I'm first going to try it with my versions of node.js and friends. |
Success!!! Thank you TheRealGrogan. I implemented the nodejs upgrade, --disable-testing and export MACH_USE_SYSTEM_PYTHON=1. Not sure which one or which ones are responsible but the package built fine with pgo enabled.
Edit: Upgraded to cbindgen-0.19.0 now and FF builds and runs fine. |
It would be the node.js, as that worked for me too. I dropped in the new tarballs for node and cbindgen and let the SlackBuild build and use them, and my build completed successfully. I think the SlackBuild was already doing --disable-testing for a non-PGO (normal) build and does export that variable.
|
Yup, everything else constant, using node 14 from slackbuilds.org instead of the one in the firefox slackbuild worked like charm
|
All times are GMT -5. The time now is 10:41 PM. |