Created attachment 225445 [details] git diff
Updated scons to 4.0.1. This removes support for python 2. Which is possible since all users of scons are updated to python 3 or removed. Patch fixes this: [00:00:08] ===> Patching for scons-py38-4.0.1 [00:00:08] find: script/scons*: No such file or directory [00:00:08] *** Error code 1 [00:00:08] [00:00:08] Stop. [00:00:08] make: stopped in /usr/ports/devel/scons And this: [00:00:24] ===> Staging for scons-py38-4.0.1 [00:00:24] ===> Generating temporary packing list [00:00:25] usage: setup.py [global_opts] cmd1 [cmd1_opts] [cmd2 [cmd2_opts] ...] [00:00:25] or: setup.py --help [cmd1 cmd2 ...] [00:00:25] or: setup.py --help-commands [00:00:25] or: setup.py cmd --help [00:00:25] [00:00:25] error: option --standard-lib not recognized [00:00:25] *** Error code 1 [00:00:25] [00:00:25] Stop. [00:00:25] make: stopped in /usr/ports/devel/scons My mongodb* ports compile properly with this version. Did not test other ports. An exp-run might be wanted. I tried upgrading to scons 4.1.0, but that still gives an error during stage I could not resolve quickly.
Created attachment 225447 [details] git diff 4.1.0.post1 New patch for 4.1.0. Includes: https://github.com/SCons/scons/issues/3950 to fetch the new tarball.
The patch is incorrect. I was testing the dependent ports.
(In reply to Po-Chuan Hsieh from comment #3) Would you mind sharing more of your results?
(In reply to Po-Chuan Hsieh from comment #3) I've build all the depended ports of devel/scons in my poudriere on aarch64. astro/gpsd, audio/mixxx, audio/rhvoice, devel/godot, devel/godot-tools, devel/godot2, devel/godot2-tools, games/battletanks, games/dxx-rebirth, games/endless-sky, games/gtkradiant, games/pingus, games/pink-pony, games/powder-toy, games/rlvm, graphics/dcp2icc, lang/tolua++, multimedia/ffmpeg2theora, multimedia/flvtool++, net/fspclient, net/fspd, net/fsplib, net-p2p/linuxdcpp, security/revealrk, sysutils/rmlint, www/serf, x11/xsettingsd Failed ports: games/powder-toy:build games/dxx-rebirth:build audio/mixxx:build Skipped ports: games/pink-pony graphics/devil Ignored ports: graphics/nvidia-texture-tools security/revealrk * Powder-toy and dxx-rebirth have reason "clang-bug" which is already happening with the current scons. So no regression. * nvidia-texture-tools is not available on aarch64. * security/revealrk is broken on FreeBSD-14. * Audio/mixxx has a scons error which seems solved by https://github.com/SCons/scons/pull/3731/commits. This needs verification still. We also have bug #249348 which replaces scons with cmake. So AFAIK this devel/scons is in a pretty good shape. When time permits I want to try the mixxx patch and compile nvidia-texture-tools on amd64.
This is my patch for devel/scons and audio/mixxx [1]. AFAIR, if you do not patch scons, it installs manpages to the wrong place (under ${PREFIX}). The dependent ports are as follows: - astro/gpsd - audio/mixxx - audio/rhvoice - databases/mongodb36 - databases/mongodb40 - databases/mongodb42 - databases/mongodb44 - databases/mongodb49 - databases/mongodb50 - devel/asmutils - devel/godot - devel/godot-tools - devel/godot2 - devel/godot2-tools - games/battletanks - games/dxx-rebirth - games/endless-sky - games/gtkradiant - games/pingus - games/pink-pony - games/powder-toy - games/rlvm - graphics/dcp2icc - lang/tolua++ - multimedia/ffmpeg2theora - multimedia/flvtool++ - net/fspclient - net/fspd - net/fsplib - net-p2p/linuxdcpp - security/revealrk - sysutils/rmlint - www/serf - x11/xsettingsd However, databases/mongodb* do not build on my box. They failed for unknown reason. scons: *** [build/opt/mongo/shell/mongo] Error 254 scons: building terminated because of errors. build/opt/mongo/shell/mongo failed: Error 254 Since you're the maintainer of 4 mongodb ports, could you please help check all databases/mongodb* ports? Thanks. [1] https://people.FreeBSD.org/~sunpoet/patch/devel-scons.txt https://people.FreeBSD.org/~sunpoet/patch/audio-mixxx.txt
(In reply to Po-Chuan Hsieh from comment #6) Thanks for taking a look also. I came up with the same patch for audio/mixxx. Mongodb36 & mongodb40 compile clean. Later versions give a linker error about a missing symbol which does not seem related to scons. Official packages seem to have the same linker error with scons3 on arm64: http://www.ipv6proxy.net/go.php?u=http://ampere2.nyi.freebsd.org/data/main-arm64-default/ped4b8e417ef2_s348c41d181/logs/errors/mongodb44-4.4.6.log This builds fine on amd64 on the official pkg cluster: http://beefy18.nyi.freebsd.org/data/main-amd64-default/ped4b8e417ef2_s348c41d181/logs/mongodb44-4.4.6.log I'm going to test some more on amd64 at home and will post the results here as soon as I find the time. BTW: your error in building mongodb might by an outofmemory condition. Mongodb is compiled with LTO enabled which consumes an enormous amount of memory. I disabled LTO on my RPI4.
Check is done. Mongodb ports compile fine with scons 4.10. The compilation error is due to an assert of clang12 on aarch64 and also happens with scons 3. No problems on amd64 with clang12 and both scons versions. So I'll come up with a separate patch for the clang12 issue. I see no troubles for committing scons 4.10 anymore. Do you?
A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/ports/commit/?id=4a4944fb5c3b0460880b436bb419aed0b327dc02 commit 4a4944fb5c3b0460880b436bb419aed0b327dc02 Author: Po-Chuan Hsieh <sunpoet@FreeBSD.org> AuthorDate: 2021-07-14 15:50:16 +0000 Commit: Po-Chuan Hsieh <sunpoet@FreeBSD.org> CommitDate: 2021-07-14 16:09:40 +0000 devel/scons: Update to 4.1.0.post1 Changes: https://scons.org/tag/releases.html https://github.com/SCons/scons/blob/master/CHANGES.txt PR: 256329 Tested by: Ronald Klop <ronald-lists@klop.ws> devel/scons/Makefile | 22 +++++----------------- devel/scons/distinfo | 6 +++--- devel/scons/files/patch-setup.cfg (new) | 11 +++++++++++ 3 files changed, 19 insertions(+), 20 deletions(-)
Committed. Ronald, thanks for your help on mongodb ports.