Skip to content

fix(eval): add missing runtime deps; pin antlr4 4.7.2 for planbench - #3

Open
ffrappo wants to merge 1 commit into
neulab:mainfrom
ffrappo:fix/install-deps
Open

fix(eval): add missing runtime deps; pin antlr4 4.7.2 for planbench#3
ffrappo wants to merge 1 commit into
neulab:mainfrom
ffrappo:fix/install-deps

Conversation

@ffrappo

@ffrappo ffrappo commented Aug 6, 2026

Copy link
Copy Markdown

Summary

evaluations/requirements-main.txt was missing four runtime dependencies, so a fresh bash evaluations/install.sh followed by bash evaluations/verify_benchmarks.sh only passed 8 of 19 benchmarks. The vendored packages (lm_eval, livecodebench, lmms_eval, visualwebbench) are installed with --no-deps, so their transitive imports are never pulled in and must be listed explicitly.

This PR adds the four missing deps and pins antlr4 to resolve a silent three-way conflict.

Missing runtime deps added

Dep Why it's needed Unblocks
tenacity>=8.5.0 lm_eval/models/api_models.py imports it for API-model retry aime25, gpqa, ifeval, logiqa, humaneval_chat, mbpp_chat, mmlu_cot, acp_gen (8 benchmarks)
anthropic>=0.75.0 livecodebench lcb_runner/.../claude_runner.py imports Anthropic at module load, even when using the OpenAI endpoint livecodebench
loguru>=0.7.0 lmms_eval/tasks/__init__.py imports loguru unconditionally as eval_logger mmmu, visualpuzzles (any lmms_eval task)
google-generativeai visualwebbench run.py + gemini_adapter.py import it at module load visualwebbench

Each line has an inline comment naming the benchmark it unblocks.

antlr4 three-way conflict (planbench)

  • tarski==0.8.2 (planbench PDDL parsing) requires antlr4-python3-runtime 4.7.x (ATN v3).
  • lm_eval's math extra pulls latex2sympy2, which depends on antlr4 4.13.x (ATN v4) and silently breaks planbench plan tasks (task_1/2/4/5/6/8) at parse time:

    Could not deserialize ATN with version 3 (expected 4).

Resolution: pin antlr4-python3-runtime==4.7.2 and intentionally do not add latex2sympy2 (mmmu-MCQ and visualpuzzles grading do not need it). The pin is placed next to the tarski/clingo block with an explanatory comment.

Verification

Verified end-to-end on a fresh install (Python 3.11) with bash evaluations/verify_benchmarks.sh:

Before After
verify_benchmarks.sh 8/19 PASS 19/19 PASS

Changes

  • evaluations/requirements-main.txt: +12 lines (4 deps + antlr4 pin + comments). No other files touched.

requirements-main.txt was missing four runtime dependencies, so a fresh
`bash evaluations/install.sh` + `bash evaluations/verify_benchmarks.sh`
only passed 8 of 19 benchmarks. The vendored packages (lm_eval,
livecodebench, lmms_eval, visualwebbench) are installed with --no-deps,
so their transitive imports are never pulled in and must be listed here.

Added (each with a comment naming the benchmark it unblocks):
  - tenacity>=8.5.0          lm_eval API models (api_models.py); unblocks
                             aime25, gpqa, ifeval, logiqa, humaneval_chat,
                             mbpp_chat, mmlu_cot, acp_gen (8 benchmarks)
  - anthropic>=0.75.0        livecodebench (lcb_runner claude_runner.py is
                             imported at module load even on the OpenAI
                             endpoint)
  - loguru>=0.7.0            lmms_eval (tasks/__init__.py imports it as
                             eval_logger); unblocks mmmu, visualpuzzles
  - google-generativeai      visualwebbench (run.py + gemini_adapter.py
                             import it at module load)

antlr4 three-way conflict (planbench): tarski 0.8.2 (planbench PDDL
parsing) needs antlr4-python3-runtime 4.7.x (ATN v3). lm_eval's math
extra pulls latex2sympy2, which depends on antlr4 4.13.x (ATN v4) and
silently breaks planbench plan tasks (task_1/2/4/5/6/8) with:
  "Could not deserialize ATN with version 3 (expected 4)."
Pin antlr4-python3-runtime==4.7.2 and intentionally do NOT add
latex2sympy2 (mmmu-MCQ and visualpuzzles grading do not need it).

Verified end-to-end: verify_benchmarks.sh goes 8/19 PASS -> 19/19 PASS.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant