Build & dependency repair
Get a failing build to compile from source, including cross-compilation and legacy toolchains.
20 project-authored proposals · taxonomy v1.1 · 0 new benchmark runs. Verifiers and partial-credit rules below are designs, not executed results.
- Typical applications
- make · CMake · gcc/clang · cargo
- Class GUI-need label
CL· CLI-sufficient
Task proposals · 20
Expand to inspect the complete original wording and proposed checks. Original proposal text remains English in both interfaces.
R02.02.01.01-T01 Resolve an npm ERESOLVE peer-dependency conflict without --force
Original instruction
`npm install` in `/work/admin-ui` fails with ERESOLVE: a date-picker requires React 17 while the app is on React 18, and an ESLint plugin pins an old ESLint. Make `npm ci` succeed with a clean lockfile, without `--force` or `--legacy-peer-deps`, and keep React 18.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- npm · Node
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
`npm ci` exits 0 with no ERESOLVE; .npmrc lacks legacy-peer-deps/force; react resolves to 18.x; `npm run build` and `npm test` green; npm ls reports no invalid peers.
Proposed partial credit
40% clean install; 20% no bypass flags; 20% React 18 kept; 20% build/tests green
R02.02.01.01-T02 Fix a CMake project that cannot find OpenSSL and zlib on macOS
Original instruction
On macOS (Apple Silicon), `cmake -B build` for `/work/netprobe` fails: it hard-codes `/usr/local` paths and links a system LibreSSL. Make it configure and build against Homebrew OpenSSL 3 and zlib through proper `find_package` usage, without hard-coded paths or env vars required at configure time.
- Platforms
mac· macOS- Applications
- CMake · Homebrew · clang
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
Clean `cmake -B build && cmake --build build` exits 0; `otool -L` shows libssl.3 from Homebrew prefix; CMakeLists has no absolute /usr/local or /opt/homebrew paths; ctest green.
Proposed partial credit
40% configures; 30% links correct OpenSSL; 15% no hard-coded paths; 15% tests
R02.02.01.01-T03 Build a Cython extension package from source against NumPy 2
Original instruction
`pip install .` for `/work/fastgeo` (Cython extensions using the NumPy C API) fails on Python 3.12 with NumPy 2.1: deprecated API usage, `distutils` import, and a missing build-system requirement. Fix the build so the wheel builds from source and imports cleanly.
- Platforms
lin· Linuxmac· macOS- Applications
- pip · Cython · NumPy
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
`pip install --no-binary :all: .` succeeds in a fresh venv; no distutils usage; NPY_NO_DEPRECATED_API set to NPY_2_0; hidden tests pass against NumPy 2.1 and 1.26 builds.
Proposed partial credit
35% builds; 25% deprecated API fixed; 25% tests on NumPy 2; 15% NumPy 1.26 still works
R02.02.01.01-T04 Cross-compile a Rust CLI to static aarch64 Linux musl
Original instruction
Produce a fully static `aarch64-unknown-linux-musl` release binary of `/work/logship` (Rust; depends on `ring` and an OpenSSL-using crate) from an x86_64 Linux host. Replace or vendor what is needed so the build is reproducible with a single documented command in `BUILD.md`.
- Platforms
lin· Linux- Applications
- cargo · cross/zig · QEMU
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Command from BUILD.md produces the binary; `file` reports statically linked ARM aarch64; runs under qemu-aarch64 and passes the smoke test (ships 10 fixture logs); no dynamic deps (readelf).
Proposed partial credit
40% builds for target; 30% static; 20% runs under QEMU; 10% documented command
R02.02.01.01-T05 Build the CompCert verified C compiler from source
Original instruction
Build CompCert 3.x from the source tarball in `/work/compcert` for x86_64 Linux, installing the required OCaml/Coq toolchain versions via opam in user space, and place `ccomp` on PATH. Compile and run the provided `tests/hello.c` and `tests/sha256.c` with it.
- Platforms
lin· Linux- Applications
- opam · Coq · OCaml · make
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
long· Long-horizon- Proposed difficulty
- 4 / 5
Proposed verifier
`ccomp -version` runs from PATH and reports the expected version; the two test programs compile with ccomp and produce expected outputs; Coq proofs were checked (build log shows coqc on lib/ files, no -admit).
Proposed partial credit
30% toolchain installed; 40% ccomp built with proofs; 30% tests compile and run
R02.02.01.01-T06 Fix an MSVC build that fails on vcpkg triplets and runtime mismatch
Original instruction
On Windows, `C:\work\ImageTool` (CMake + vcpkg manifest) fails: wrong triplet, a dependency built with /MT while the app uses /MD, and a missing feature flag for libpng. Make `cmake --preset release` and `cmake --build` succeed with Visual Studio 2022 and produce a working x64 exe.
- Platforms
win· Windows- Applications
- MSVC · vcpkg · CMake
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Preset build exits 0; dumpbin /dependents shows consistent CRT (all /MD); exe processes 5 fixture PNGs identically to reference outputs; vcpkg.json features updated; no LNK4098 warnings.
Proposed partial credit
35% builds; 25% CRT consistent; 25% exe output correct; 15% manifest clean
R02.02.01.01-T07 Repair an Android Gradle build after an AGP and Kotlin upgrade
Original instruction
`./gradlew assembleDebug` for `/work/fieldnotes-android` fails after bumping Android Gradle Plugin to 8.x and Kotlin to 2.0: namespace missing, kapt-to-KSP migration needed for Room, Java toolchain mismatch, and a deprecated `packagingOptions` block. Make debug and release builds and unit tests pass.
- Platforms
lin· Linuxmac· macOSwin· Windows- Applications
- Gradle · Android SDK · Kotlin
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
`./gradlew assembleDebug assembleRelease testDebugUnitTest` exits 0 with AGP 8.x and Kotlin 2.0 kept; Room uses KSP; APK installs on an emulator and launches main activity (am start check).
Proposed partial credit
40% builds; 20% KSP migration; 20% unit tests; 20% APK launches
R02.02.01.01-T08 Untangle a Poetry dependency-solver conflict
Original instruction
`poetry lock` for `/work/mlservice` fails: `pydantic` v1 required by an internal SDK pin conflicts with `fastapi` latest; `numpy` pins clash between `pandas` and an old `scikit-learn`. Produce a lockfile that resolves on Python 3.11 with the newest versions compatible with the code, changing code minimally if a major upgrade is needed.
- Platforms
lin· Linuxmac· macOS- Applications
- Poetry · pip
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
`poetry lock` and `poetry install` succeed; hidden test suite green; no dependency version older than the original lock; pydantic v2 if FastAPI upgraded (code compiled with -W error for pydantic deprecations).
Proposed partial credit
40% lock resolves; 35% tests green; 25% versions not downgraded
R02.02.01.01-T09 Fix a Go module build broken by replace directives and private modules
Original instruction
`go build ./...` in `/work/billing-go` fails: a `replace` points to a deleted local path, a private module on the sandbox Git server needs GOPRIVATE and a netrc token (in `~/.config/sandbox_git_token`), and a dependency moved to `/v2`. Make the build and tests pass without vendoring.
- Platforms
lin· Linuxmac· macOS- Applications
- go · git
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Fresh clone + `go build ./... && go test ./...` succeed with GOFLAGS=-mod=mod; go.mod has no replace to local paths; private module fetched from sandbox server (server log); v2 import paths updated.
Proposed partial credit
30% replace fixed; 30% private module access; 25% v2 migration; 15% tests
R02.02.01.01-T10 Get a legacy autotools project compiling with GCC 14
Original instruction
`./configure && make` for `/work/oldtool` (C, 2009 autotools) fails on Ubuntu 24.04 with GCC 14: implicit function declarations are now errors, `configure` misdetects features, and an old `config.guess` doesn't know the platform. Fix it properly (not with `-fpermissive` style flags) so `make check` passes.
- Platforms
lin· Linux- Applications
- autoconf · gcc · make
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Fresh `autoreconf -fi && ./configure && make && make check` passes with GCC 14 default flags; CFLAGS contain no -Wno-error=implicit-* or -std=gnu89; config.guess updated; binary output on 5 fixtures matches reference.
Proposed partial credit
40% compiles cleanly; 20% configure detection fixed; 25% make check; 15% outputs
R02.02.01.01-T11 Cross-compile a C game engine for MIPS and run it in an emulator
Original instruction
Build the DOOM-style engine in `/work/doomgeneric` for big-endian MIPS32 using clang/LLVM and the provided sysroot, fixing endianness assumptions in the WAD loader, and run it in the provided MIPS emulator so it renders frame 100 of the demo to `frame100.ppm`.
- Platforms
lin· Linux- Applications
- clang · LLVM · QEMU
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsvis· Visual judgment- Work product
WP06· Code/engineering- Conditions
long· Long-horizon- Proposed difficulty
- 5 / 5
Proposed verifier
ELF is MIPS32 big-endian; emulator run exits 0; frame100.ppm SSIM >= 0.98 vs reference x86 render of the same demo tick; endianness fixes present (byte-swap in loader).
Proposed partial credit
30% cross-compiles; 30% runs without crash; 40% frame matches
R02.02.01.01-T12 Fix Swift package resolution and deployment-target errors in an Xcode project
Original instruction
On macOS, `xcodebuild -scheme Journal build` for `/work/Journal` fails: a Swift package pinned to a deleted tag, a deployment target below a dependency's minimum, and a build setting overriding `SWIFT_VERSION` per target. Fix it so Debug and Release build for macOS 14 and tests pass.
- Platforms
mac· macOS- Applications
- Xcode · xcodebuild · SwiftPM
- Interfaces
term· Terminaldesk· Desktop GUI- GUI need · task setting
HY· Hybrid- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commandsclick· Point & click- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
xcodebuild build and test exit 0 for both configurations; Package.resolved points to existing tags; MACOSX_DEPLOYMENT_TARGET >= dependency minimum; no per-target SWIFT_VERSION mismatch (pbxproj parse).
Proposed partial credit
35% package resolution; 25% deployment target; 20% build settings; 20% tests
R02.02.01.01-T13 Repair a Bazel build broken by a rules_python upgrade
Original instruction
After upgrading rules_python and moving to Bzlmod, `bazel test //...` in `/work/monobazel` fails: WORKSPACE-only macros, pip repository renames and a hermetic toolchain mismatch. Complete the Bzlmod migration so build and tests pass with no WORKSPACE file.
- Platforms
lin· Linuxmac· macOS- Applications
- Bazel · rules_python
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
`bazel test //...` passes with --enable_bzlmod and WORKSPACE removed; MODULE.bazel declares rules_python with pinned version; pip deps via pip.parse; hermetic Python 3.12 used (bazel cquery).
Proposed partial credit
40% builds under Bzlmod; 30% tests pass; 30% hermetic toolchain and no WORKSPACE
R02.02.01.01-T14 Make a release build bit-for-bit reproducible
Original instruction
Two builds of `/work/agent-cli` (Go + embedded web assets built by npm) on the same commit produce different binaries. Find all sources of nondeterminism (timestamps, paths, map ordering in asset bundling, VCS stamping, npm metadata) and fix them so two builds in different directories and times are byte-identical.
- Platforms
lin· Linux- Applications
- go · npm · diffoscope
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 5 / 5
Proposed verifier
Grader builds twice in different paths, users and with SOURCE_DATE_EPOCH set, 10 minutes apart: SHA-256 identical; diffoscope clean; binary still passes the functional test suite.
Proposed partial credit
60% identical builds; 20% diffoscope clean on intermediate assets; 20% functionality preserved
R02.02.01.01-T15 Fix a mixed Fortran/C build with BLAS/LAPACK linking
Original instruction
`make` in `/work/eigensolve` (Fortran 2008 + C interop + LAPACK) fails with undefined references to `dgeev_`, name-mangling mismatches between the C wrapper and Fortran, and an OpenMP flag missing at link time. Make it build against OpenBLAS with CMake and pass its tests.
- Platforms
lin· Linuxmac· macOS- Applications
- gfortran · CMake · OpenBLAS
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
CMake build succeeds; ldd/otool shows OpenBLAS; C-Fortran interop uses bind(C) (source check); hidden tests: eigenvalues of 20 matrices match LAPACK reference to 1e-10; OpenMP run with 4 threads matches.
Proposed partial credit
35% links; 25% interop fixed properly; 30% numerical tests; 10% OpenMP
R02.02.01.01-T16 Fix a Docker multi-stage build failing on a musl/glibc mismatch
Original instruction
`docker build` for `/work/thumbsvc` succeeds but the container crashes with 'not found' because the builder stage is Debian (glibc) and the runtime is Alpine (musl), and a native npm module (sharp) is built for the wrong libc. Fix the Dockerfile so the image runs, stays under 250 MB, and runs as non-root.
- Platforms
lin· Linux- Applications
- Docker · npm
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
Image builds; container passes /healthz and thumbnails 5 fixtures matching reference sizes; `docker image inspect` size < 250 MB; USER non-root; native module's ELF interpreter matches runtime libc.
Proposed partial credit
40% container runs; 25% functional thumbnails; 20% size; 15% non-root
R02.02.01.01-T17 Solve a conda environment for a pinned CUDA PyTorch stack
Original instruction
`conda env create -f environment.yml` for `/work/segmodel` fails to solve: pytorch, torchvision, CUDA 12.1 runtime, a pinned old `opencv` and a pip-only package with a conflicting numpy pin. Produce an environment file (conda + pip sections) that solves on linux-64 and imports all packages with CUDA available.
- Platforms
lin· Linux- Applications
- conda · mamba · pip
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
Fresh env from the new file solves; `python -c` imports all 12 packages; torch.cuda.is_available() true on the grader GPU and torch.version.cuda 12.1; a 10-image inference smoke test matches reference masks (IoU >= 0.99).
Proposed partial credit
40% env solves; 30% imports + CUDA; 30% smoke test
R02.02.01.01-T18 Get a Java 8 Ant build working on JDK 17
Original instruction
Legacy project `/work/reportsvc` builds with Ant on JDK 8 only. On JDK 17 it fails: removed `javax.xml.bind`, `-source 1.6` flags, illegal reflective access in tests, and a bundled ancient JUnit task. Make `ant clean test dist` pass on JDK 17 without downgrading the JDK.
- Platforms
lin· Linuxwin· Windows- Applications
- Ant · JDK 17
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 3 / 5
Proposed verifier
`ant clean test dist` exits 0 on JDK 17; javac target >= 11; JAXB provided as a dependency; JUnit reports all tests run (count equals original 212); dist jar runs the CLI smoke test.
Proposed partial credit
35% compiles; 30% tests run and pass; 20% JAXB; 15% dist works
R02.02.01.01-T19 Fix a node-gyp native addon build on Windows
Original instruction
On Windows, `npm install` for `/work/serialbridge` fails while compiling a native addon: wrong Python path, missing MSVC toolset in the gyp config, and code using POSIX-only headers. Make it build with VS 2022 Build Tools and Node 20, and pass the addon's tests using the provided virtual COM port pair.
- Platforms
win· Windows- Applications
- node-gyp · MSVC · Node
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 4 / 5
Proposed verifier
`npm ci` exits 0 building the .node file; tests exchange 1,000 messages over the virtual COM pair with no loss; POSIX-only includes guarded by #ifdef _WIN32; no global npm config hacks committed.
Proposed partial credit
40% addon compiles; 20% portability fixes; 30% serial tests; 10% clean config
R02.02.01.01-T20 Compile SQLite with gcov instrumentation and install it on PATH
Original instruction
Build SQLite from the amalgamation tarball in `/work/sqlite-src` with gcov coverage instrumentation, install the `sqlite3` shell to `~/.local/bin` (ahead of the system one on PATH), and run the provided `smoke.sql` so `.gcda` files are produced.
- Platforms
lin· Linux- Applications
- gcc · gcov · make
- Interfaces
term· Terminal- GUI need · task setting
CL· CLI-sufficient- GUI need · ordinary access
CL· CLI-sufficient- Interaction primitives
code· Code & commands- Work product
WP06· Code/engineering- Conditions
- None declared
- Proposed difficulty
- 2 / 5
Proposed verifier
`which sqlite3` resolves to ~/.local/bin/sqlite3; version equals tarball; binary has gcov symbols (__gcov_*); after smoke.sql, .gcda files exist and `gcov sqlite3.c` reports > 10% lines executed.
Proposed partial credit
40% instrumented build; 30% on PATH first; 30% coverage data produced
Mapped research references
Existing benchmark-to-class links from the research catalog. They are not record-level annotations, executions or product endorsements.