My aggregated monorepo of OCaml code, automaintained
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Add distro experiments plan for build failures

Experiment 1 (biggest win): ~15 packages fixable by adding depexts
to opam overlay — system deps exist in Bookworm but aren't declared.

Other experiments have diminishing returns — most missing deps
(Python 2.7, LLVM 3.x, Rust 1.85+) are EOL/unavailable everywhere.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+57
+57
docs/failures/EXPERIMENTS.md
··· 1 + # Distro Experiments for Build Failures 2 + 3 + Packages that fail on Debian Bookworm but might build on other distros. 4 + 5 + ## Experiments Worth Running 6 + 7 + ### Experiment 1: Debian Bookworm with extra depexts 8 + **Distro:** debian:bookworm (current base, just add missing depexts) 9 + **Packages:** 10 + - `lablgl.1.05` — needs `freeglut3-dev` (available, just not declared) 11 + - `lablgtk.2.18.12` — needs `x11proto-dev`, `shared-mime-info` (available) 12 + - `glpk.0.1.6` — needs `libglpk-dev` (available) 13 + - `mpi.1.06` — needs `libmpich-dev` (available) 14 + - `otaglibc.0.1.0` — needs `libtag1-dev` (available) 15 + - `lablgtk3-sourceview3.*` — needs `libgtksourceview-3.0-dev` (available) 16 + - `ocaml-r.*` — needs `r-base-dev` (available) 17 + 18 + **Fix type:** Add `depexts` to opam files in overlay repo. No distro change needed. 19 + 20 + ### Experiment 2: Debian Bookworm with libclang-13 21 + **Distro:** debian:bookworm 22 + **Packages:** 23 + - `conf-libclang.13` — `libclang-13-dev` IS in Bookworm 24 + 25 + **Fix type:** Add depext or fix conf package detection script. 26 + 27 + ### Experiment 3: Fedora 41 for raylib 28 + **Distro:** fedora:41 29 + **Packages:** 30 + - `raylib.1.0.0`, `raylib.1.1.0`, `raylib.1.6.0` — `raylib-devel` in Fedora repos 31 + - `raygui.1.3.0`, `raygui.1.3.1` — depends on raylib 32 + 33 + **Note:** Would need Fedora opam setup. Worth trying if raylib matters. 34 + 35 + ### Experiment 4: Ubuntu 22.04 for libclang-13 36 + **Distro:** ubuntu:22.04 37 + **Packages:** 38 + - `conf-libclang.13` — `libclang-13-dev` available 39 + - `clangml.3.5.0`, `clangml.3.6.0.6`, `clangml.3.7.0.2` — depend on clang 40 + 41 + **Note:** clangml versions want clang 3.x which is gone everywhere. Even with libclang-13, these specific versions likely won't work. 42 + 43 + ## Not Worth Trying (Dead Ends) 44 + 45 + | Packages | Reason | 46 + |----------|--------| 47 + | `conf-python-2-7.*`, `z3.4.7.1`, `z3.4.8.9` | Python 2.7 gone from all supported distros | 48 + | `conf-bap-llvm.1.1` | LLVM 4.x gone from all supported distros | 49 + | `conf-rust-2024.1`, `topiary.*` | Rust 1.85+ not in any distro repos (needs rustup) | 50 + | `karamel.1.0.0` | F* not packaged anywhere | 51 + | `fswatch.*` | libfswatch API changed; needs code fix, not distro change | 52 + 53 + ## Recommendation 54 + 55 + **Experiment 1 is the big win** — ~15 packages fixable by just adding `depexts` to the opam overlay, no distro change needed. These are packages where the system dep EXISTS in Bookworm but isn't declared in the opam file. 56 + 57 + The other experiments have diminishing returns. Most "missing system dep" failures are genuinely EOL software that no supported distro ships.