Skip to content

Commit 1aac12f

Browse files
committed
queue: park fiftyone-db (no riscv64 mongod anywhere)
fiftyone-db only vendors a prebuilt mongod downloaded from fastdl.mongodb.org; MongoDB publishes no riscv64 build at any version (full.json, 9.0.2 and earlier), Gentoo marks 6.0/7.0 -riscv and keywords 8.x for amd64/arm64 only, and the server tree hard-errors in src/mongo/platform/pause.h on riscv. Evidence in the queue entry.
1 parent 50bad36 commit 1aac12f

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

‎.queue.yml‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13091,3 +13091,10 @@ packages:
1309113091
status: published
1309213092
pr: https://github.com/riseproject-dev/python-wheels/pull/1726
1309313093
notes: '10 Linux wheels upstream (abi cp310-cp314, x86_64+aarch64), sdist present; no riscv64 anywhere. sdks/python/setup.py confirms a genuinely small native surface: 6 .pyx files plus a handful of setup.py-cythonized .py modules under coders/metrics/runners/transforms/utils, producing 17 .so files total - no Bazel/large-C++ build, a normal cibuildwheel candidate. Validated end-to-end locally (macOS arm64, ~2.5min): `pip wheel <sdist> --no-deps --no-build-isolation` with only cython>=3.2.5,<4 + numpy preinstalled succeeds and produces a real 17-.so wheel. pyproject.toml''s build-system.requires pins grpcio-tools==1.62.1 (py<=3.12) / 1.71.0 (py>=3.13), which has no riscv64 wheel, but it''s unused for the riscv64 bdist: the released sdist ships pre-generated apache_beam/portability/api/*_pb2.py with zero .proto sources alongside them (confirmed against the real PyPI sdist), so gen_protos.py''s "no proto files, reuse existing output" branch never imports grpc_tools - fixed with --no-build-isolation (gotcha 76) instead of patching the pin. Matrix cp312/cp313/cp314 (cp314t dropped: upstream''s own build_wheels.yml matrix never builds a free-threaded wheel for Beam); numpy<2.5.0 and cython riscv64 wheels both cover this range on our registry. Upstream''s own released sdist ships with no LICENSE at all (verified against the real PyPI tarball) even though sdks/python/MANIFEST.in already lists NOTICE/LICENSE/LICENSE.python - they live at the repo root, not sdks/python - so the sdist-build step copies them in first, same gap/fix shape as build-ctranslate2.yml. Testing mirrors upstream exactly (no CIBW_TEST_COMMAND): upstream''s own build_wheels.yml runs zero wheel tests itself (real Beam test suites live in separate massive PostCommit/PreCommit workflows, out of scope). Known caveat for future maintainers: Beam''s mandatory (non-extra) install_requires caps pyarrow<24.0.0 and protobuf<7.0.0.dev0, but pypi.riseproject.dev currently hosts exactly one riscv64 version of each (pyarrow 25.0.1, protobuf 7.35.1), both incompatible with those bounds - so `pip install apache-beam` will not fully resolve on riscv64 today regardless of this port; that''s a downstream ecosystem gap (would need an additional pyarrow<24/protobuf<7 riscv64 build), not a defect in this workflow. PR #1726 all checks green: sdist build, cp312/cp313/cp314 riscv64 bdist builds, check_commit_messages, check_patches, and publish dry-run all passed - dry-run log confirms the three expected wheels (apache_beam-2.75.0-cp31{2,3,4}-cp31{2,3,4}-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl). Awaiting maintainer review.'
13094+
- pkg: fiftyone-db
13095+
version: 1.4.1
13096+
home: https://github.com/voxel51/fiftyone
13097+
repo: https://github.com/voxel51/fiftyone/tree/develop/package/db
13098+
status: parked
13099+
pr: null
13100+
notes: 'Not feasible (vendored-binary, gotchas 35/126/157/183, feasibility-and-triage.md): no riscv64 mongod exists at any version, official or third-party, and MongoDB cannot be built from source on riscv64 without porting work upstream has never done. (1) WHAT IT IS. fiftyone-db 1.4.1 (Apache-2.0, voxel51/fiftyone package/db, unchanged on develop) compiles nothing: setup.py''s CustomBdistWheel.write_wheelfile downloads a prebuilt MongoDB server tarball from fastdl.mongodb.org and copies only bin/mongod into fiftyone/db/bin, retagging the wheel py3-none-<plat>. The URL comes from LINUX_DOWNLOADS[/etc/os-release ID][VERSION_ID prefix][platform.machine()], whose leaves carry only x86_64/aarch64 keys (mongodb-linux-*-{ubuntu2204,rhel90,debian12,amazon2023,...}-7.0.28, ubuntu2404-8.0.17, a few 6.0.27). (2) UPSTREAM SHIPS NO LINUX WHEEL ON ANY ARCH (gotcha 50/126 shape): PyPI 1.4.1 is sdist + macosx_10_13_x86_64 + macosx_11_0_arm64 + win32 + win_amd64; the last Linux wheels were 0.4.5 (plus the retired fiftyone-db-rhel7/-ubuntu2004/-ubuntu2204 siblings), so every Linux install builds the sdist on the host and fetches a distro-matched mongod there. On riscv64 that lookup raises KeyError(''riscv64''), which write_wheelfile''s bare except swallows, so `pip install fiftyone` (which requires fiftyone-db>=0.4,<2.0) already succeeds on riscv64 today with an empty fiftyone/db/bin; fiftyone only fails, with ServiceExecutableNotFound from core/service.py DatabaseService.find_mongod(), when it tries to launch a local DB. (3) NO riscv64 mongod ANYWHERE, checked 2026-10-02: downloads.mongodb.org/full.json lists 1245 versions up to 9.0.2 with arches x86_64/aarch64/arm64/s390x/ppc64le/i686/i386 and zero riscv entries (grep -ci riscv = 0). Gentoo dev-db/mongodb: 6.0.27 and 7.0.28 have KEYWORDS="amd64 ~arm64 -riscv" (explicitly marked broken), 8.0.29 and 8.3.8 have "~amd64 ~arm64" with no riscv keyword, and both fetch MongoDB''s own prebuilt bazel binary from mdb-build-public for linux-x86_64/linux-arm64 only. Ubuntu dropped mongodb after focal (SSPL); focal''s riscv64 mongodb-server is 3.6.9, below fiftyone''s MONGODB_MIN_VERSION 6.0 (fiftyone/constants.py), which core/odm/database.py enforces through server_info(). GitHub repository search for "mongodb riscv64" returns 0 results. (4) FROM SOURCE IS BLOCKED IN-TREE, NOT JUST LARGE: src/mongo/platform/pause.h at both r7.0.28 and master defines MONGO_YIELD_CORE_FOR_SMT for x86/PPC64/aarch64/arm/s390x/sparc/emscripten and otherwise hits #error "No processor pause implementation for this architecture." (no __riscv branch); r7.0.28''s SConstruct knows riscv64 only for endian detection; 8.0+ is Bazel-only with no riscv entry in bazel/platforms/BUILD.bazel. A public 2025 attempt (mongodb.com community forum t/322387, r8.0.0 on openEuler riscv64) stalled on the embedded mozjs SpiderMonkey (no riscv64 platform config), mongo-ninja-python (prebuilt wheels only) and hardware_destructive_interference_size, with no reply from MongoDB. Even with those patched it would be a first-ever, multi-day mongod build on the 4-core runners with no upstream riscv64 CI to mirror (goal 2), producing a server binary MongoDB itself does not support. (5) REJECTED ALTERNATIVE: wekan/FerretDB v1.86.0 publishes ferretdb-riscv64, but it is a MongoDB wire-protocol proxy over SQLite, not mongod. It does not accept fiftyone''s launch argv (mongod --dbpath --logpath --port 0 --nounixsocket, core/service.py), and core/odm/database.py requires server version >= 6.0 and issues getParameter/setFeatureCompatibilityVersion, so shipping it as fiftyone/db/bin/mongod would be an impostor binary, not a port. riscv64 fiftyone users are already served by fiftyone''s documented database_uri setting pointing at a MongoDB >= 6.0 on another host, which needs nothing from this repo. No branch, workflow, docs/packages yaml, patch or PR created. Revisit if downloads.mongodb.org/full.json ever lists a riscv64 target, or if MongoDB''s tree gains a __riscv branch in pause.h and a riscv64 mozjs platform.'

0 commit comments

Comments
 (0)