From nobody Sat May 11 14:29:29 2024 X-Original-To: freebsd-ports@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Vc7S13fVXz5KDFJ for ; Sat, 11 May 2024 14:29:37 +0000 (UTC) (envelope-from david@catwhisker.org) Received: from mx.catwhisker.org (mx.catwhisker.org [107.204.234.170]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4Vc7S02rT3z3xR2 for ; Sat, 11 May 2024 14:29:36 +0000 (UTC) (envelope-from david@catwhisker.org) Authentication-Results: mx1.freebsd.org; dkim=none; dmarc=none; spf=pass (mx1.freebsd.org: domain of david@catwhisker.org designates 107.204.234.170 as permitted sender) smtp.mailfrom=david@catwhisker.org Received: from albert.catwhisker.org (localhost [127.0.0.1]) by albert.catwhisker.org (8.18.1/8.18.1) with ESMTP id 44BETTht002182 for ; Sat, 11 May 2024 14:29:29 GMT (envelope-from david@albert.catwhisker.org) Received: (from david@localhost) by albert.catwhisker.org (8.18.1/8.18.1/Submit) id 44BETTSK002181 for freebsd-ports@freebsd.org; Sat, 11 May 2024 07:29:29 -0700 (PDT) (envelope-from david) Date: Sat, 11 May 2024 07:29:29 -0700 From: David Wolfskill To: freebsd-ports@freebsd.org Subject: www/firefox: Python(?) issues building under poudriere (stable/14) Message-ID: List-Id: Porting software to FreeBSD List-Archive: https://lists.freebsd.org/archives/freebsd-ports List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: freebsd-ports@freebsd.org Sender: owner-freebsd-ports@FreeBSD.org MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="cb6Cp+iUe9Xfj+jB" Content-Disposition: inline X-Spamd-Bar: ----- X-Spamd-Result: default: False [-5.40 / 15.00]; SIGNED_PGP(-2.00)[]; NEURAL_HAM_LONG(-1.00)[-1.000]; NEURAL_HAM_MEDIUM(-1.00)[-0.999]; NEURAL_HAM_SHORT(-1.00)[-0.997]; MIME_GOOD(-0.20)[multipart/signed,text/plain]; R_SPF_ALLOW(-0.20)[+ip4:107.204.234.170]; FROM_HAS_DN(0.00)[]; RCPT_COUNT_ONE(0.00)[1]; ASN(0.00)[asn:7018, ipnet:107.192.0.0/12, country:US]; MIME_TRACE(0.00)[0:+,1:+,2:~]; FREEFALL_USER(0.00)[david]; MISSING_XM_UA(0.00)[]; DMARC_NA(0.00)[catwhisker.org]; MLMMJ_DEST(0.00)[freebsd-ports@freebsd.org]; ARC_NA(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_COUNT_TWO(0.00)[2]; FROM_EQ_ENVFROM(0.00)[]; R_DKIM_NA(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; RCVD_TLS_LAST(0.00)[]; PREVIOUSLY_DELIVERED(0.00)[freebsd-ports@freebsd.org]; MID_RHS_MATCH_FROMTLD(0.00)[]; SUBJECT_HAS_QUESTION(0.00)[] X-Rspamd-Queue-Id: 4Vc7S02rT3z3xR2 --cb6Cp+iUe9Xfj+jB Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable TL;DR: As the Subject says; log & info at https://www.catwhisker.org/~david/FreeBSD/ports/firefox/ Additional detail: I have 2 broad categories of FreeBSD machines here at home (all amd64): * Development machines (a build machine & some laptops) * Production machines (a multi-homed "traffic cop"/gateway & a main machine) The development machines get updated daily, tracking stable/14 & head (on dfferent slices); installed ports are updated daily on stable/14 using portmaster (except for www/chromium). The laptops have a slightly-customized kernel; the build machine runs GENERIC. The production machines get updated weekly (Sunday mornings), with the just-built snapshot of stable/14 (courtesy of the build machine). The build machine also runs poudriere-devel to build packages for the production machines (and for the laptops, in the case of chromium). Package-building is done on a weekly cycle (augmented by as-needed chromium-specific runs); in order to try to save a bit of time on "update day" (Sunday), I make an initial package-building run on Saturday (which, not so coincidentally, is today). Usually, this process is ... well, boring. (Which is a Very Good Thing, as I remind my colleagues at work -- especially when I'm shepherding a new release.) It also goes a fairly long way toward ensuring that the machines I use have "consistent" environments: there is no "piecemeal updating" going on here. Last week, poudriere failed to build firefox (on both Saturday and Sunday, IIRC). While that was moderately annoying, it didn't seem fatal: the previously-built firefox had already been installed on the one production machine that has it. And the laptops (that build firefox using portmaster) didn't seem to have a problem building & using it. But the port has since been updated (to 126.0_1,2. And poudriere has complained again. So this time, I have copied the poudriere log of the failed build to https://www.catwhisker.org/~david/FreeBSD/ports/firefox/ (and also made a compressed copy; my Internet connectivity leaves a fair bit to be desired). Specific information for this failure: The build machine was (and is) running: FreeBSD freebeast.catwhisker.org 14.1-STABLE FreeBSD 14.1-STABLE #135 stabl= e/14-n267652-91df7d335dd4: Sat May 11 10:47:37 UTC 2024 root@freebeast.= catwhisker.org:/common/S1/obj/usr/src/amd64.amd64/sys/GENERIC amd64 1401500= 1401500 The ports tree is at: main-n662668-8e136401b5b9 poudriere is poudriere-git-3.4.99.20240424 The fatal error in the log appears to be a Python ImportError about Undefined symbol "sqlite3_enable_load_extension" =2E.. /wrkdirs/usr/ports/www/firefox/work/.mozbuild/srcdirs/firefox-126.0-1017168= 9b53e/_virtualenvs/build/bin/python -m mozbuild.action.file_generate /wrkdi= rs/usr/ports/www/firefox/work/firefox-126.0/toolkit/components/telemetry/bu= ild_scripts/gen_scalar_enum.py main toolkit/components/telemetry/TelemetryS= calarEnums.h toolkit/components/telemetry/.deps/TelemetryScalarEnums.h.pp t= oolkit/components/telemetry/.deps/TelemetryScalarEnums.h.stub /wrkdirs/usr/= ports/www/firefox/work/firefox-126.0/toolkit/components/telemetry/Scalars.y= aml =2E/TelemetryEventData.h.stub /wrkdirs/usr/ports/www/firefox/work/.mozbuild/srcdirs/firefox-126.0-1017168= 9b53e/_virtualenvs/build/bin/python -m mozbuild.action.file_generate /wrkdi= rs/usr/ports/www/firefox/work/firefox-126.0/toolkit/components/telemetry/bu= ild_scripts/gen_event_data.py main toolkit/components/telemetry/TelemetryEv= entData.h toolkit/components/telemetry/.deps/TelemetryEventData.h.pp toolki= t/components/telemetry/.deps/TelemetryEventData.h.stub /wrkdirs/usr/ports/w= ww/firefox/work/firefox-126.0/toolkit/components/telemetry/Events.yaml Traceback (most recent call last): File "/usr/local/lib/python3.9/runpy.py", line 197, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/local/lib/python3.9/runpy.py", line 87, in _run_code exec(code, run_globals) File "/wrkdirs/usr/ports/www/firefox/work/firefox-126.0/python/mozbuild/m= ozbuild/action/file_generate.py", line 154, in sys.exit(main(sys.argv[1:])) File "/wrkdirs/usr/ports/www/firefox/work/firefox-126.0/python/mozbuild/m= ozbuild/action/file_generate.py", line 85, in main spec.loader.exec_module(module) File "", line 850, in exec_module File "", line 228, in _call_with_frames_remo= ved File "/wrkdirs/usr/ports/www/firefox/work/firefox-126.0/toolkit/component= s/glean/build_scripts/glean_parser_ext/run_glean_parser.py", line 11, in import cpp File "/wrkdirs/usr/ports/www/firefox/work/firefox-126.0/toolkit/component= s/glean/build_scripts/glean_parser_ext/cpp.py", line 14, in from glean_parser import metrics, util File "/wrkdirs/usr/ports/www/firefox/work/firefox-126.0/third_party/pytho= n/glean_parser/glean_parser/metrics.py", line 15, in from . import pings File "/wrkdirs/usr/ports/www/firefox/work/firefox-126.0/third_party/pytho= n/glean_parser/glean_parser/pings.py", line 14, in from . import util File "/wrkdirs/usr/ports/www/firefox/work/firefox-126.0/third_party/pytho= n/glean_parser/glean_parser/util.py", line 17, in import diskcache # type: ignore File "/wrkdirs/usr/ports/www/firefox/work/firefox-126.0/third_party/pytho= n/diskcache/diskcache/__init__.py", line 9, in from .core import Cache, Disk, EmptyDirWarning, JSONDisk, UnknownFileWa= rning, Timeout File "/wrkdirs/usr/ports/www/firefox/work/firefox-126.0/third_party/pytho= n/diskcache/diskcache/core.py", line 14, in import sqlite3 File "/usr/local/lib/python3.9/sqlite3/__init__.py", line 57, in from sqlite3.dbapi2 import * File "/usr/local/lib/python3.9/sqlite3/dbapi2.py", line 27, in from _sqlite3 import * ImportError: /usr/local/lib/python3.9/lib-dynload/_sqlite3.cpython-39.so: U= ndefined symbol "sqlite3_enable_load_extension" gmake[2]: *** [backend.mk:684: toolkit/components/glean/.deps/HistogramGIFF= TMap.h.stub] Error 1 gmake[2]: *** Waiting for unfinished jobs.... =2E... The only difference in port options I find between the laptops & poudriere is that the laptops have: SNDIO=3Doff: Sndio audio support while poudriere shows: OPTIONS_FILE_SET+=3DSNDIO Finally (for this post), I admit that I've never really picked up Python (and that SQL-related things are things I tend to muddle through, then write scripts to handle so I don't need to try to think about them any more). So: Do I need to fix my process? Is this actually symptomatic of something that warrants a bug report? Thanks! Peace, david --=20 David H. Wolfskill david@catwhisker.org Please do not mistake "authoritarian" for "conservative" -- or vice versa. See https://www.catwhisker.org/~david/publickey.gpg for my public key. --cb6Cp+iUe9Xfj+jB Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iNUEARYKAH0WIQSTLzOSbomIK53fjFliipiWhXYx5QUCZj+AyV8UgAAAAAAuAChp c3N1ZXItZnByQG5vdGF0aW9ucy5vcGVucGdwLmZpZnRoaG9yc2VtYW4ubmV0OTMy RjMzOTI2RTg5ODgyQjlEREY4QzU5NjI4QTk4OTY4NTc2MzFFNQAKCRBiipiWhXYx 5UVcAP9ODbQ8F+GegYxRng2fX6S2w+zACLNQ8gD3kAVrMj1uUQEAq8C7ZxvagCQo 8uHNxBuJuUPusSiYHuSa6SRtqMAGCQY= =KIsP -----END PGP SIGNATURE----- --cb6Cp+iUe9Xfj+jB--