| Anonymous | Login | Signup for a new account | 2013-06-19 16:57 CEST | ![]() |
| Main | My View | View Issues | Change Log | Roadmap |
| View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||
| ID | Project | Category | View Status | Date Submitted | Last Update | ||||||
| 0005550 | OCaml | OCamlbuild (the tool) | public | 2012-03-20 11:31 | 2012-03-20 15:19 | ||||||
| Reporter | gasche | ||||||||||
| Assigned To | |||||||||||
| Priority | normal | Severity | feature | Reproducibility | N/A | ||||||
| Status | acknowledged | Resolution | open | ||||||||
| Platform | OS | OS Version | |||||||||
| Product Version | |||||||||||
| Target Version | Fixed in Version | ||||||||||
| Summary | 0005550: Cache results from `ocamlfind query` in _build/ | ||||||||||
| Description | Anil Madhavapeddy reported that he uses ocamlbuild on large build trees for Mirage, and found the -use-ocamlfind integration unusable in his case because of the ocamlbuild's repeated invocation of `ocamlfind query`. His workaround is to devise his own ocamlfind logic in myocamlbuild.ml, that reuse library-location information gathered at ./configure time. It would be nice if ocamlbuild cached `ocamlfind query` results in the _build/ subdirectory, so that they don't have to be recomputed across ocamlbuild calls. | ||||||||||
| Additional Information | After a quick look at ocamlbuild/findlib.ml, it appears that ocamlbuild already caches `ocamlfind query` results across a single ocamlbuild run, by using a hashtable at runtime. So this amount to making this hash-table pervasive by somehow storing it in a file in _build. | ||||||||||
| Tags | No tags attached. | ||||||||||
| Attached Files | |||||||||||
Notes |
|
|
(0007114) gasche (developer) 2012-03-20 11:32 |
Marking this acknowledged after discussion with xclerc. As always, patches are welcome. |
|
(0007115) gasche (developer) 2012-03-20 11:34 |
Remark: if documented, that feature should be documented because the user could observe caching by compiling a project, installing/removing/updating ocamlfind stuff, then recompiling from (now outdated) cached information. I don't think there is any magic technique to detect such getting-out-of-date case: does ocamlfind store a time-of-last-update somewhere that is less costly to access that `ocamlfind query`? But this is probably a rare case and we could just document it and recommend to -clean on such occasions, or provide a -clean-ocamlfind option, or advise to `rm _build/ocamlfind.cache` or something. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2012-03-20 11:31 | gasche | New Issue | |
| 2012-03-20 11:32 | gasche | Note Added: 0007114 | |
| 2012-03-20 11:32 | gasche | Status | new => acknowledged |
| 2012-03-20 11:34 | gasche | Note Added: 0007115 | |
| Copyright © 2000 - 2011 MantisBT Group |