You are not logged in.
All,
I'm stuck on the update for the AUR mongodb44 package after the last update. I suspected a simple rebuild would be all that was needed as there were no breaking changes from boost 1.92 apparent in the package, but a rebuild would be required to pull in the new .so version.
However I ran head-long into a scons/python problem that prevents the build from starting due to not finding a needed module using the old pkg_resources syntax. I am not a python programmer and scons is a bit like witchcraft, so I'm a bit stuck. The build error is:
==> Starting build()...
scons: Reading SConscript files ...
ModuleNotFoundError: No module named 'pkg_resources':
File "/build/mongodb44/src/mongo-r4.4.29/SConstruct", line 19:
from pkg_resources import parse_version
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Build failed, check /home/david/arch/pkg/chroot/david/buildOkay, great, the line complained about is attempting to pull in a parse_version module:
from pkg_resources import parse_versionThat looks pretty simple, but the pkg_resources Migration Guide isn't quite verbose enough to get me over the hump. How do I implement a replacement for the code above so it works with the new pkg_resources.parse_version (or the like). I know this wants to accomplish the pkg_resources.parse_version (I think), but how do you translate from old to new?
Something to point me in the right direction would be greatly appreciated.
Last edited by drankinatty (Today 06:39:44)
David C. Rankin, J.D.,P.E.
Offline
It seems there is a 4.4.31 release, have you tried that one ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
diff --git a/SConstruct b/SConstruct
index b65c61dc..c262a31a 100644
--- a/SConstruct
+++ b/SConstruct
@@ -16,7 +16,7 @@ import textwrap
import uuid
from glob import glob
-from pkg_resources import parse_version
+from packaging.version import parse as parse_version
import SCons
diff --git a/buildscripts/linter/runner.py b/buildscripts/linter/runner.py
index 623a3c42..33649e42 100644
--- a/buildscripts/linter/runner.py
+++ b/buildscripts/linter/runner.py
@@ -10,7 +10,7 @@ import site
import subprocess
import sys
import threading
-import pkg_resources
+import packaging.version
from . import base
@@ -33,7 +33,7 @@ def _check_version(linter, cmd_path, args):
decoded_output, stderr)
pattern = r"\b(?:(%s) )?(?P<version>\S+)\b" % (linter.cmd_name)
- required_version = pkg_resources.parse_version(linter.required_version)
+ required_version = packaging.version.parse(linter.required_version)
match = re.search(pattern, decoded_output)
if match:
@@ -41,7 +41,7 @@ def _check_version(linter, cmd_path, args):
else:
found_version = '0.0'
- if pkg_resources.parse_version(found_version) < required_version:
+ if packaging.version.parse(found_version) < required_version:
logging.info(
"Linter %s has wrong version for '%s'. Expected >= '%s',"
"Standard Output:\n'%s'\nStandard Error:\n%s", linter.cmd_name, cmd,
diff --git a/site_scons/site_tools/ccache.py b/site_scons/site_tools/ccache.py
index 2a894919..227f992b 100644
--- a/site_scons/site_tools/ccache.py
+++ b/site_scons/site_tools/ccache.py
@@ -26,7 +26,7 @@ import re
import subprocess
import SCons
-from pkg_resources import parse_version
+from packaging.version import parse as parse_version
# This is the oldest version of ccache that offers support for -gsplit-dwarf
_ccache_version_min = parse_version("3.2.3")
diff --git a/site_scons/site_tools/icecream.py b/site_scons/site_tools/icecream.py
index f9e436eb..df612f2a 100644
--- a/site_scons/site_tools/icecream.py
+++ b/site_scons/site_tools/icecream.py
@@ -25,7 +25,7 @@ import re
import subprocess
import urllib
-from pkg_resources import parse_version
+from packaging.version import parse as parse_version
import SCons
Last edited by loqs (2026-08-24 23:18:28)
Offline
Oh, you may be my savior. I'll boot into my Arch build in clean chroot install, give it a try and report back. Thank You! And @Lone_wolf, will update and give that a go as well. Thank you too!
I'll report back. This should get me over the finish line, but with python and scons, I've leaned to never say never.
Last edited by drankinatty (Today 06:40:17)
David C. Rankin, J.D.,P.E.
Offline
The SConstruct patch worked flawlessly, and 4.4-31 builds all the way to the end (some hour plus continual compile), but then fails on final link with a ld terminated with signal 9 [Killed]. What! There are no errors prior to that. Literally, it is just wrapping up the final LTO link with the following and then rolls over dead:
g++ @/tmp/tmpaefq41t1.lnk
Generating build/07c20a8e/mongo/transport/message_compressor_options_client_gen.cpp
g++ -o build/07c20a8e/mongo/shell/shell_options.o -c -Woverloaded-virtual -Wno-c++20-compat -Wno-cpp -Wno-interference-size -Wno-class-memaccess -Wno-template-body -Wpessimizing-move -Wredundant-move -Wno-maybe-uninitialized -Wno-exceptions -fsized-deallocation -Wno-defaulted-function-deleted -std=c++17 -ffp-contract=off -fno-omit-frame-pointer -fno-strict-aliasing -fasynchronous-unwind-tables -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Wno-sign-compare -Wno-lto-type-mismatch -O0 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-const-variable -Wno-unused-but-set-variable -Wno-missing-braces -flto -fno-builtin-memcmp -DSAFEINT_USE_INTRINSICS=0 -D_XOPEN_SOURCE=700 -D_GNU_SOURCE -DBOOST_THREAD_VERSION=5 -DBOOST_THREAD_USES_DATETIME -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DBOOST_ENABLE_ASSERT_DEBUG_HANDLER -DBOOST_LOG_NO_SHORTHAND_NAMES -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_WITHOUT_THREAD_ATTR -DBOOST_LOG_DYN_LINK -DABSL_FORCE_ALIGNED_ACCESS -Isrc/third_party/SafeInt -Isrc/third_party/fmt/dist/include -Isrc/third_party/abseil-cpp-master/abseil-cpp -Ibuild/07c20a8e -Isrc src/mongo/shell/shell_options.cpp
g++ -o build/07c20a8e/mongo/shell/shell_utils_extended.o -c -Woverloaded-virtual -Wno-c++20-compat -Wno-cpp -Wno-interference-size -Wno-class-memaccess -Wno-template-body -Wpessimizing-move -Wredundant-move -Wno-maybe-uninitialized -Wno-exceptions -fsized-deallocation -Wno-defaulted-function-deleted -std=c++17 -ffp-contract=off -fno-omit-frame-pointer -fno-strict-aliasing -fasynchronous-unwind-tables -pthread -Wall -Wsign-compare -Wno-unknown-pragmas -Winvalid-pch -Wno-sign-compare -Wno-lto-type-mismatch -O0 -Wno-unused-local-typedefs -Wno-unused-function -Wno-deprecated-declarations -Wno-unused-const-variable -Wno-unused-but-set-variable -Wno-missing-braces -flto -fno-builtin-memcmp -DSAFEINT_USE_INTRINSICS=0 -D_XOPEN_SOURCE=700 -D_GNU_SOURCE -DBOOST_THREAD_VERSION=5 -DBOOST_THREAD_USES_DATETIME -DBOOST_SYSTEM_NO_DEPRECATED -DBOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS -DBOOST_ENABLE_ASSERT_DEBUG_HANDLER -DBOOST_LOG_NO_SHORTHAND_NAMES -DBOOST_LOG_USE_NATIVE_SYSLOG -DBOOST_LOG_WITHOUT_THREAD_ATTR -DBOOST_LOG_DYN_LINK -DABSL_FORCE_ALIGNED_ACCESS -Isrc/third_party/SafeInt -Isrc/third_party/fmt/dist/include -Isrc/third_party/abseil-cpp-master/abseil-cpp -Ibuild/07c20a8e -Isrc src/mongo/shell/shell_utils_extended.cpp
collect2: fatal error: ld terminated with signal 9 [Killed]
compilation terminated.
scons: *** [build/07c20a8e/mongo/mongos] Error 1
scons: building terminated because of errors.
build/07c20a8e/mongo/mongos failed: Error 1
==> ERROR: A failure occurred in build().
Aborting...
==> ERROR: Build failed, check /home/david/arch/chroot/david/buildIt's bad enough to have to suss out identified errors, it's quite another to have to find unidentified errors. AARGH, that's frustrating!
Okay, I found it -- my canary is starving? oom-killer to blame
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:10 2pi rtkit-daemon[1008]: The canary thread is apparently starving. Taking action.
Aug 26 22:59:10 2pi at-spi2-registryd[976]: Disabling unresponsive app with pid 907
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:10 2pi rtkit-daemon[1008]: Demoting known real-time threads.
Aug 26 22:59:10 2pi systemd[1]: makechrootpkg-mongodb44.build.185431.scope: The kernel OOM killer killed some processes in this unit.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:10 2pi rtkit-daemon[1008]: Demoted 0 threads.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: warn_alloc: 104682 callbacks suppressed
Aug 26 22:59:12 2pi kernel: Backgro.kSource: page allocation failure: order:0, mode:0x40cc0(GFP_KERNEL|__GFP_COMP), nodemask=(null),cpuset=system.slice,mems_allowed=0
Aug 26 22:59:12 2pi kernel: CPU: 1 UID: 980 PID: 2286 Comm: Backgro.kSource Not tainted 7.1.9-arch1-2 #1 PREEMPT(full) 1dcb44188b0ac1c68b4b4adc32aedf169215449b
Aug 26 22:59:12 2pi kernel: Hardware name: Dell Inc. OptiPlex 360 /0T656F, BIOS A07 06/18/2012
Aug 26 22:59:12 2pi kernel: Call Trace:
Aug 26 22:59:12 2pi kernel: <TASK>
Aug 26 22:59:12 2pi kernel: dump_stack_lvl+0x5d/0x80
Aug 26 22:59:12 2pi kernel: warn_alloc+0x171/0x1e0
Aug 26 22:59:12 2pi kernel: __alloc_pages_slowpath.constprop.0+0x728/0x1170
Aug 26 22:59:12 2pi kernel: __alloc_frozen_pages_noprof+0x31e/0x380
Aug 26 22:59:12 2pi kernel: alloc_pages_mpol+0xb2/0x160
Aug 26 22:59:12 2pi kernel: folio_alloc_mpol_noprof+0x14/0x40
Aug 26 22:59:12 2pi kernel: swap_cache_alloc_folio+0x8b/0xe0
Aug 26 22:59:12 2pi kernel: shrink_memcg_cb+0xe2/0x300
Aug 26 22:59:12 2pi kernel: ? __pfx_shrink_memcg_cb+0x10/0x10
Aug 26 22:59:12 2pi kernel: __list_lru_walk_one+0xe2/0x220
Aug 26 22:59:12 2pi kernel: list_lru_walk_one+0x10/0x20
Aug 26 22:59:12 2pi kernel: zswap_shrinker_scan+0x64/0xb0
Aug 26 22:59:12 2pi kernel: do_shrink_slab+0x154/0x3b0
Aug 26 22:59:12 2pi kernel: shrink_slab+0x2ad/0x400
Aug 26 22:59:12 2pi kernel: shrink_one+0xe8/0x210
Aug 26 22:59:12 2pi kernel: shrink_node+0xa90/0xcc0
Aug 26 22:59:12 2pi kernel: do_try_to_free_pages+0xac/0x490
Aug 26 22:59:12 2pi kernel: try_to_free_pages+0xfb/0x240
Aug 26 22:59:12 2pi kernel: __alloc_pages_slowpath.constprop.0+0x837/0x1170
Aug 26 22:59:12 2pi kernel: __alloc_frozen_pages_noprof+0x31e/0x380
Aug 26 22:59:12 2pi kernel: alloc_pages_mpol+0xb2/0x160
Aug 26 22:59:12 2pi kernel: folio_alloc_noprof+0x54/0xa0
Aug 26 22:59:12 2pi kernel: __filemap_get_folio_mpol+0x1e3/0x320
Aug 26 22:59:12 2pi kernel: filemap_fault+0x2f8/0x1340
Aug 26 22:59:12 2pi kernel: __do_fault+0x34/0x170
Aug 26 22:59:12 2pi kernel: do_fault+0x3ec/0x5f0
Aug 26 22:59:12 2pi kernel: ? __pte_offset_map+0x1b/0x100
Aug 26 22:59:12 2pi kernel: __handle_mm_fault+0x967/0xf80
Aug 26 22:59:12 2pi kernel: handle_mm_fault+0xed/0x2c0
Aug 26 22:59:12 2pi kernel: do_user_addr_fault+0x23b/0x730
Aug 26 22:59:12 2pi kernel: exc_page_fault+0x90/0x1f0
Aug 26 22:59:12 2pi kernel: asm_exc_page_fault+0x26/0x30
Aug 26 22:59:12 2pi kernel: RIP: 0033:0x562843e63b0e
Aug 26 22:59:12 2pi kernel: Code: Unable to access opcode bytes at 0x562843e63ae4.
Aug 26 22:59:12 2pi kernel: RSP: 002b:00007f6bf62b78d8 EFLAGS: 00010246
Aug 26 22:59:12 2pi kernel: RAX: 000001a0415f0d9a RBX: 00007f6bf7d65ce0 RCX: 000001a0415f00e2
Aug 26 22:59:12 2pi kernel: RDX: 0000000000000000 RSI: 000001a0415f0d9a RDI: 00007f6bf62b7870
Aug 26 22:59:12 2pi kernel: RBP: 00007f6bf62b7900 R08: 00226ea2cb97fef8 R09: 0000000000000000
Aug 26 22:59:12 2pi kernel: R10: 00007f6bfc828000 R11: 000000000a9a988e R12: 0000000000000021
Aug 26 22:59:12 2pi kernel: R13: 00007fff55ffdd90 R14: 0000000000000002 R15: 00007fff55ffde97
Aug 26 22:59:12 2pi kernel: </TASK>
Aug 26 22:59:12 2pi kernel: Mem-Info:
Aug 26 22:59:12 2pi kernel: active_anon:440434 inactive_anon:450359 isolated_anon:0
active_file:30 inactive_file:82 isolated_file:0
unevictable:20532 dirty:0 writeback:38
slab_reclaimable:10641 slab_unreclaimable:18212
mapped:14782 shmem:24062 pagetables:7222
sec_pagetables:0 bounce:0
kernel_misc_reclaimable:0
free:22 free_pcp:103 free_cma:0
Aug 26 22:59:12 2pi kernel: Node 0 active_anon:1761736kB inactive_anon:1801436kB active_file:120kB inactive_file:328kB unevictable:82128kB isolated(anon):0kB isolated(file):0kB mapped:59128kB dirty:0kB writeback:152kB shmem:96248kB shmem_thp:0kB shmem_pmdmapped:0kB anon_thp:0kB kernel_stack:5392kB pagetables:28888kB sec_pagetables:0kB all_unreclaimable? no Balloon:0kB gpu_active:0kB gpu_reclaim:0kB
Aug 26 22:59:12 2pi kernel: Node 0 DMA free:20kB boost:0kB min:264kB low:328kB high:392kB reserved_highatomic:0KB free_highatomic:0KB active_anon:7276kB inactive_anon:7336kB active_file:0kB inactive_file:0kB unevictable:0kB writepending:144kB zspages:0kB present:15992kB managed:15360kB mlocked:0kB bounce:0kB free_pcp:120kB local_pcp:0kB free_cma:0kB
Aug 26 22:59:12 2pi kernel: lowmem_reserve[]: 0 2931 3817 3817 3817
Aug 26 22:59:12 2pi kernel: Node 0 DMA32 free:0kB boost:116296kB min:167988kB low:180908kB high:193828kB reserved_highatomic:0KB free_highatomic:0KB active_anon:1506988kB inactive_anon:1345084kB active_file:112kB inactive_file:92kB unevictable:0kB writepending:20kB zspages:70476kB present:3118440kB managed:3001856kB mlocked:0kB bounce:0kB free_pcp:52kB local_pcp:8kB free_cma:0kB
Aug 26 22:59:12 2pi kernel: lowmem_reserve[]: 0 0 886 886 886
Aug 26 22:59:12 2pi kernel: Node 0 Normal free:68kB boost:35148kB min:50772kB low:54676kB high:58580kB reserved_highatomic:0KB free_highatomic:0KB active_anon:247428kB inactive_anon:449012kB active_file:20kB inactive_file:224kB unevictable:82128kB writepending:0kB zspages:20448kB present:983040kB managed:907504kB mlocked:0kB bounce:0kB free_pcp:240kB local_pcp:20kB free_cma:0kB
Aug 26 22:59:12 2pi kernel: lowmem_reserve[]: 0 0 0 0 0
Aug 26 22:59:12 2pi kernel: Node 0 DMA: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB
Aug 26 22:59:12 2pi kernel: Node 0 DMA32: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB
Aug 26 22:59:12 2pi kernel: Node 0 Normal: 0*4kB 0*8kB 0*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 0kB
Aug 26 22:59:12 2pi kernel: Node 0 hugepages_total=0 hugepages_free=0 hugepages_surp=0 hugepages_size=2048kB
Aug 26 22:59:12 2pi kernel: 78648 total pagecache pages
Aug 26 22:59:12 2pi kernel: 38175 pages in swap cache
Aug 26 22:59:12 2pi kernel: Free swap = 156kB
Aug 26 22:59:12 2pi kernel: Total swap = 1249164kB
Aug 26 22:59:12 2pi kernel: 1029368 pages RAM
Aug 26 22:59:12 2pi kernel: 0 pages HighMem/MovableOnly
Aug 26 22:59:12 2pi kernel: 48188 pages reserved
Aug 26 22:59:12 2pi kernel: 0 pages cma reserved
Aug 26 22:59:12 2pi kernel: 0 pages hwpoisoned
Aug 26 22:59:12 2pi kernel: Memory cgroup min protection 0kB -- low protection 0kB
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: Purging GPU memory, 0 pages freed, 0 pages still pinned, 4185 pages left available.
Aug 26 22:59:12 2pi kernel: cc1plus invoked oom-killer: gfp_mask=0x140dca(GFP_HIGHUSER_MOVABLE|__GFP_ZERO|__GFP_COMP), order=0, oom_score_adj=0Seems as our GNU-C compiler keeps getting bigger and the LTO demands keep growing, they are outpacing what older machines can support. This was a test box anyway, an old Core2-Duo with 4G. I guess I'll need to disable LTO to build there.
I've got an i-5 CoffeeLake with 32G to build on as well, so it looks like if I want LTO, I'll have to build there.
Thank you two for your help! I'll leave this open overnight and then swing back and mark it [Solved] -- just in case you have some additional pearls of wisdom on the oom ld issue I should consider and try.
Thank you again!
Last edited by drankinatty (Today 04:25:02)
David C. Rankin, J.D.,P.E.
Offline