vendor/agent/flan_agent.c calls flan_dev_result_get, which lives in flan_dev.c, which build.ml compiled only for a dev build - so flan build sand.flan died at the link with an undefined symbol. A regression from 7ce1d09, where C-x C-e gave the agent a result to report. A package's C sources are collected whatever main does, so the agent's C is in every build that imports it. flan_dev.c is now compiled into all of them. Nothing in a release build reaches it: the compiler emits a registry lookup only for a name the host was not built with, and without cells there is no such name. The table is BSS, so the cost is address space rather than binary size, and -rdynamic and the cells are still what --dev means. test_agent.ml now links the same program both ways. It runs only the dev one - with no cells the agent refuses every module, so linking is the whole claim.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%