Test with 115.7.0-2
Crash on compilation:
https://paste.sr.ht/~rnek0/155182515eb7b0be4e7286419c881c985595b1b2
Thanks for your work, it's great.
Git Clone URL: | https://aur.archlinux.org/icecat.git (read-only, click to copy) |
---|---|
Package Base: | icecat |
Description: | GNU version of the Firefox ESR browser |
Upstream URL: | https://git.savannah.gnu.org/cgit/gnuzilla.git |
Keywords: | browser esr gnuzilla web |
Licenses: | MPL-2.0 |
Submitter: | None |
Maintainer: | figue (xiota) |
Last Packager: | xiota |
Votes: | 250 |
Popularity: | 0.60 |
First Submitted: | 2007-12-09 10:12 (UTC) |
Last Updated: | 2024-11-30 19:41 (UTC) |
« First ‹ Previous 1 2 3 4 5 6 7 8 9 .. 86 Next › Last »
Test with 115.7.0-2
Crash on compilation:
https://paste.sr.ht/~rnek0/155182515eb7b0be4e7286419c881c985595b1b2
Thanks for your work, it's great.
Firefox's version has changed apparently, so not only does it not build, but I'll have to flag this out of date.
Downloading Firefox tarball
https://ftp.mozilla.org/pub/firefox/releases/115.8.0esr/source/firefox-115.8.0esr.source.tar.xz:
2024-02-16 19:33:51 ERROR 404: Not Found.
==> ERROR: A failure occurred in prepare().
Aborting...
@texer22 I'm not sure why paru are failing to build. Can you try with devtools extra-x86_64-build ?
Cannot build.
The error occurred in mach itself. This is likely a bug in mach itself or a
fundamental problem with a loaded module.
You can invoke ``./mach busted`` to check if this issue is already on file. If it
isn't, please use ``./mach busted file general`` to report it. If ``./mach busted`` is
misbehaving, you can also inspect the dependencies of bug 1543241.
If filing a bug, please include the full output of mach, including this error
message.
The details of the failure are as follows:
mozbuild.mozconfig.MozconfigLoadException: Error loading mozconfig: /home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/.mozconfig
Evaluation of your mozconfig exited with an error. This could be triggered
by a command inside your mozconfig failing. Please change your mozconfig
to not error and/or to catch errors in executed commands.
mozconfig output:
/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/.mozconfig: line 1: _add_options: command not found
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mach/mach/main.py", line 397, in run
return self._run(argv)
^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mach/mach/main.py", line 486, in _run
report_invocation_metrics(context.telemetry, handler.name)
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mach/mach/telemetry.py", line 85, in report_invocation_metrics
filter_args(command, sys.argv, instance.topsrcdir, instance.topobjdir)
^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/base.py", line 248, in topobjdir
self._topobjdir = self.resolve_mozconfig_topobjdir(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/base.py", line 190, in resolve_mozconfig_topobjdir
topobjdir = self.mozconfig.get("topobjdir") or default
^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/base.py", line 345, in mozconfig
return self.base_mozconfig_info["mozconfig"]
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/base.py", line 335, in base_mozconfig_info
return self.get_base_mozconfig_info(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/util.py", line 1054, in __call__
self[args] = self.func(*args)
^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/base.py", line 320, in get_base_mozconfig_info
sandbox._value_for(sandbox["mozconfig_options"])
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/configure/__init__.py", line 613, in _value_for
return self._value_for_depends(self._depends[obj])
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/util.py", line 1063, in method_call
cache[args] = self.func(instance, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/configure/__init__.py", line 625, in _value_for_depends
value = obj.result()
^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/util.py", line 1063, in method_call
cache[args] = self.func(instance, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/configure/__init__.py", line 160, in result
resolved_args = [self.sandbox._value_for(d) for d in self.dependencies]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/configure/__init__.py", line 160, in <listcomp>
resolved_args = [self.sandbox._value_for(d) for d in self.dependencies]
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/configure/__init__.py", line 616, in _value_for
return self._value_for_depends(obj)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/util.py", line 1063, in method_call
cache[args] = self.func(instance, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/configure/__init__.py", line 625, in _value_for_depends
value = obj.result()
^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/util.py", line 1063, in method_call
cache[args] = self.func(instance, *args)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/configure/__init__.py", line 161, in result
return self._func(*resolved_args)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/configure/__init__.py", line 1308, in wrapped
return new_func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/build/moz.configure/init.configure", line 117, in mozconfig
mozconfig = loader.read_mozconfig(mozconfig)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/username/.cache/paru/clone/icecat/src/gnuzilla-dbe6da400cf4f28e5e893d0acb5022e23cf3afcf/output/icecat-115.7.0/python/mozbuild/mozbuild/mozconfig.py", line 185, in read_mozconfig
raise MozconfigLoadException(path, MOZCONFIG_BAD_EXIT_CODE, lines)
==> ERROR: A failure occurred in build().
Aborting...
error: failed to build 'icecat-115.7.0-2':
error: packages failed to build: icecat-115.7.0-2
@figue Worked with 4GB+30GiB swap, will probably work for you too
real 168m38.694s
user 443m5.238s
sys 36m15.910s
I am not using Icecat but maybe you want to read this: https://bbs.archlinux.org/viewtopic.php?id=290946
I want to apologize. _only-compile was a test and I forgot to remove it (I have a new charge in the company I work and I'm a bit busy).
I have removed _only-compile. Changed enable-lto=cross.
Would you mind to test it again? I'll test it too (I have 16 Gb RAM here with 10 GB swap, should be enough?)
Think it's best to add a flag so that PGO can be optional
It's already in the PKGBUILD near the beginning (lines 9-10). To disable PGO, set an environment variable: _build_pgo=false makepkg
Most Firefox-based browsers currently have PGO enabled without option to disable (eg, firefox-nightly
). I suppose users who bother to build them are assumed to have the resources to do so. I tried measuring memory usage for both normal and PGO builds, and they both appear to use about the same amount of memory. In the logs, there are lines that look like:
Parallelism determined by memory: using 128 jobs for 128 cores based on 251.5 GiB RAM and estimated job size of 1.0 GiB
On machines with different number of cores and RAM that I tried, looks like the 1 GiB/job estimate is reasonably accurate. That usage is above baseline. So a system with 16 GiB baseline usage, 32 cores, 32 GiB RAM will run out of memory with 32 jobs. This scenario would need over 48 GiB. I would allocate double the GiB as cores to be "safe".
Pinned Comments
xiota commented on 2024-02-26 07:32 (UTC) (edited on 2024-08-08 03:44 (UTC) by xiota)
PKGBUILD has been updated. Major changes:
Notes:
_build_pgo_xvfb=false
. This will usexwayland-run
for profiling._build_pgo=false
.mk_add_options MOZ_PARALLEL_BUILD=___
around line 300. Pick a value less than number of cores and free RAM in GB. For example, on a system with 8 cores, 64GB total RAM, but only 6 GB free, the value should be set to 4 or 5.libxul.so
. Leave a comment if you have a potential solution.Having problems? Please provide details: processor make and model, number of cores,
free -m
, full log in pastebin, whether using AUR helper/makepkg/clean chroot, etc.