LinuxQuestions.org
Help answer threads with 0 replies.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 06-01-2021, 05:46 AM   #1
3rensho
Senior Member
 
Registered: Mar 2008
Location: Deutschland
Distribution: Slackware64-current
Posts: 1,026

Rep: Reputation: 618Reputation: 618Reputation: 618Reputation: 618Reputation: 618Reputation: 618
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
++ Checking logfile 'build.log' (no news is good news):
  188627:       firefox-89.0/dom/base/test/FAIL.html
  193412:       firefox-89.0/dom/html/test/forms/FAIL.html
  333367:        0:02.64 Error processing command. Ignoring because optional. (optional:packages.txt:comm/build/virtualenv_packages.txt)
  333400:        0:04.64 checking for ccache... not found
  333569:        0:13.35 checking for dump_syms... not found
  335441:       30:39.85 /tmp/firefox-89.0/third_party/libwebrtc/webrtc/common_video/h264/sps_parser.cc:22:9: warning: 'RETURN_EMPTY_ON_FAIL' macro redefined [-Wmacro-redefined]
  335442:       30:39.85 #define RETURN_EMPTY_ON_FAIL(x) \
  335445:       30:39.86 #define RETURN_EMPTY_ON_FAIL(x) \
  339998:       38:31.70 gmake[3]: *** [backend.mk:733: devtools/client/debugger/src/actions/.deps/node.stub.stub] Error 252
  339999:       38:31.70 gmake[3]: *** Waiting for unfinished jobs....
  340002:       38:31.76 gmake[3]: *** [backend.mk:743: devtools/client/debugger/src/actions/ast/.deps/node.stub.stub] Error 252
  340004:       38:31.78 gmake[3]: *** [backend.mk:710: devtools/client/debugger/src/.deps/node.stub.stub] Error 252
  340007:       38:31.87 gmake[3]: *** [backend.mk:756: devtools/client/debugger/src/actions/breakpoints/.deps/node.stub.stub] Error 252
  340008:       38:31.87 gmake[2]: *** [/tmp/firefox-89.0/config/recurse.mk:34: misc] Error 2
  340009:       38:31.87 gmake[1]: *** [/tmp/firefox-89.0/config/rules.mk:355: default] Error 2
  340010:       38:31.87 gmake: *** [client.mk:65: build] Error 2
  340013:        Config object not found by mach.
|install mawk).  For LFS: we put mktemp in /usr/bin not /bin, remove
From the last bits of the build log I see:

Code:
38:31.44 ./node.stub.stub
38:31.45 ./node.stub.stub
38:31.45 ./node.stub.stub
38:31.49 ./node.stub.stub
38:31.62 Executing "/tmp/mozilla-firefox-build-deps/usr/bin/node /tmp/firefox-89.0/devtools/client/shared/build/build.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/event-listeners.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/exceptions.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/expressions.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/file-search.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/index.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/navigation.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/preview.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/project-text-search.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/quick-open.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/source-actors.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/source-tree.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/tabs.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/toolbox.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/threads.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/ui.js /tmp/firefox-89.0/obj/dist/bin/browser/chrome/devtools/modules/devtools/client/debugger/src/actions"
38:31.66 ./node.stub.stub
38:31.68 b'\n\n#\n# Fatal error in , line 0\n# Check failed: !IsClassConstructor(function->shared()->kind()) implies *function_map == function->map().\n#\n#\n#\n#FailureMessage Object: 0x7ffd1e63b870'
38:31.69 Executing "/tmp/mozilla-firefox-build-deps/usr/bin/node /tmp/firefox-89.0/devtools/client/shared/build/build.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/ast/index.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/ast/setInScopeLines.js /tmp/firefox-89.0/obj/dist/bin/browser/chrome/devtools/modules/devtools/client/debugger/src/actions/ast"
38:31.70 gmake[3]: *** [backend.mk:733: devtools/client/debugger/src/actions/.deps/node.stub.stub] Error 252
38:31.70 gmake[3]: *** Waiting for unfinished jobs....
38:31.74 b'\n\n#\n# Fatal error in , line 0\n# Check failed: !IsClassConstructor(function->shared()->kind()) implies *function_map == function->map().\n#\n#\n#\n#FailureMessage Object: 0x7ffe5443b3c0'
38:31.74 Executing "/tmp/mozilla-firefox-build-deps/usr/bin/node /tmp/firefox-89.0/devtools/client/shared/build/build.js /tmp/firefox-89.0/devtools/client/debugger/src/main.js /tmp/firefox-89.0/devtools/client/debugger/src/vendors.js /tmp/firefox-89.0/obj/dist/bin/browser/chrome/devtools/modules/devtools/client/debugger/src"
38:31.76 gmake[3]: *** [backend.mk:743: devtools/client/debugger/src/actions/ast/.deps/node.stub.stub] Error 252
38:31.76 b'\n\n#\n# Fatal error in , line 0\n# Check failed: !IsClassConstructor(function->shared()->kind()) implies *function_map == function->map().\n#\n#\n#\n#FailureMessage Object: 0x7fff44af9a70'
38:31.78 gmake[3]: *** [backend.mk:710: devtools/client/debugger/src/.deps/node.stub.stub] Error 252
38:31.82 Executing "/tmp/mozilla-firefox-build-deps/usr/bin/node /tmp/firefox-89.0/devtools/client/shared/build/build.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/breakpoints/breakpointPositions.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/breakpoints/index.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/breakpoints/modify.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/breakpoints/remapLocations.js /tmp/firefox-89.0/devtools/client/debugger/src/actions/breakpoints/syncBreakpoint.js /tmp/firefox-89.0/obj/dist/bin/browser/chrome/devtools/modules/devtools/client/debugger/src/actions/breakpoints"
38:31.85 b'\n\n#\n# Fatal error in , line 0\n# Check failed: !IsClassConstructor(function->shared()->kind()) implies *function_map == function->map().\n#\n#\n#\n#FailureMessage Object: 0x7ffc0cc83920'
38:31.87 gmake[3]: *** [backend.mk:756: devtools/client/debugger/src/actions/breakpoints/.deps/node.stub.stub] Error 252
38:31.87 gmake[2]: *** [/tmp/firefox-89.0/config/recurse.mk:34: misc] Error 2
38:31.87 gmake[1]: *** [/tmp/firefox-89.0/config/rules.mk:355: default] Error 2
38:31.87 gmake: *** [client.mk:65: build] Error 2
38:31.89 124 compiler warnings present.
38:31.96 /usr/bin/notify-send --app-name=Mozilla Build System Mozilla Build System Build failed
 Config object not found by mach.
Configure complete!
Be sure to run |mach build| to pick up any changes
From these error messages can anyone fathom how my -current system differs from a plain -current?? Thanks in advance
 
Old 06-01-2021, 03:08 PM   #2
TheRealGrogan
Member
 
Registered: Oct 2010
Location: Ontario, Canada
Distribution: Slackware, LFS, Manjaro (for gaming)
Posts: 570

Rep: Reputation: 413Reputation: 413Reputation: 413Reputation: 413Reputation: 413
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
 export CFLAGS="-mtune=nehalem"
 export CXXFLAGS="-mtune=nehalem"
 # needs to be exported on shell before running mach
 export MACH_USE_SYSTEM_PYTHON=1
mk_add_options MOZ_MAKE_FLAGS=-j6
ac_add_options MOZ_PGO=1
ac_add_options --enable-lto
ac_add_options --prefix=/opt/firefox
ac_add_options --enable-official-branding
ac_add_options --enable-release
ac_add_options --disable-tests
ac_add_options --enable-optimize
ac_add_options --enable-rust-simd
ac_add_options --enable-alsa
ac_add_options --enable-pulseaudio
ac_add_options --disable-crashreporter
ac_add_options --disable-updater
ac_add_options --enable-linker=lld
ac_add_options AR=/usr/bin/llvm-ar
ac_add_options NM=/usr/bin/llvm-nm
ac_add_options RANLIB=/usr/bin/llvm-ranlib
ac_add_options NODEJS=/storage2/shit/build/node/bin/node
There's a note in there for myself to remember to "export MACH_USE_SYSTEM_PYTHON=1" before I start. It's chicken before egg to put it in the .mozconfig (because mach doesn't get to run).

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

Last edited by TheRealGrogan; 06-01-2021 at 03:30 PM.
 
1 members found this post helpful.
Old 06-01-2021, 04:26 PM   #3
TheRealGrogan
Member
 
Registered: Oct 2010
Location: Ontario, Canada
Distribution: Slackware, LFS, Manjaro (for gaming)
Posts: 570

Rep: Reputation: 413Reputation: 413Reputation: 413Reputation: 413Reputation: 413
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...

Last edited by TheRealGrogan; 06-01-2021 at 06:11 PM.
 
1 members found this post helpful.
Old 06-01-2021, 10:35 PM   #4
3rensho
Senior Member
 
Registered: Mar 2008
Location: Deutschland
Distribution: Slackware64-current
Posts: 1,026

Original Poster
Rep: Reputation: 618Reputation: 618Reputation: 618Reputation: 618Reputation: 618Reputation: 618
Thanks for your response and suggestions. Have another build try running after incorporating your suggestions. Will let you know how it turns out.
 
Old 06-01-2021, 10:52 PM   #5
TheRealGrogan
Member
 
Registered: Oct 2010
Location: Ontario, Canada
Distribution: Slackware, LFS, Manjaro (for gaming)
Posts: 570

Rep: Reputation: 413Reputation: 413Reputation: 413Reputation: 413Reputation: 413
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.
 
Old 06-02-2021, 12:00 AM   #6
3rensho
Senior Member
 
Registered: Mar 2008
Location: Deutschland
Distribution: Slackware64-current
Posts: 1,026

Original Poster
Rep: Reputation: 618Reputation: 618Reputation: 618Reputation: 618Reputation: 618Reputation: 618
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.

Last edited by 3rensho; 06-02-2021 at 03:54 AM.
 
Old 06-02-2021, 01:04 AM   #7
TheRealGrogan
Member
 
Registered: Oct 2010
Location: Ontario, Canada
Distribution: Slackware, LFS, Manjaro (for gaming)
Posts: 570

Rep: Reputation: 413Reputation: 413Reputation: 413Reputation: 413Reputation: 413
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.
 
1 members found this post helpful.
Old 06-22-2021, 10:56 AM   #8
perrin4869
Member
 
Registered: Dec 2014
Location: Japan
Distribution: slackware64-current
Posts: 60

Rep: Reputation: Disabled
Yup, everything else constant, using node 14 from slackbuilds.org instead of the one in the firefox slackbuild worked like charm
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
[SOLVED] Linux 4.4 seems to refuse to build IPv6 for the 64-bit build - 32-bit build works fine GameCodingNinja Linux From Scratch 2 02-07-2016 06:40 PM
LXer: Build 'em Right, Build 'em Strong, Build 'em Linux LXer Syndicated Linux News 0 10-01-2007 09:51 PM
kernel build says build is "dirty"? Quakeboy02 Debian 3 12-18-2006 11:24 PM
running applications from one Linux build in another Linux build bcottam Linux - Distributions 2 04-13-2004 12:08 AM
Kazaa lite 2.0 build 2 and 2.02 build 5 walterw Linux - General 1 02-04-2003 04:12 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:00 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration