| Anonymous | Login | Signup for a new account | 2013-05-19 08:12 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 | |||||||
| 0005305 | OCaml | OCamlbuild (the tool) | public | 2011-06-29 12:20 | 2012-05-15 11:02 | |||||||
| Reporter | Dmitry Grebeniuk | |||||||||||
| Assigned To | lefessan | |||||||||||
| Priority | normal | Severity | major | Reproducibility | always | |||||||
| Status | resolved | Resolution | fixed | |||||||||
| Platform | OS | OS Version | ||||||||||
| Product Version | 3.12.1+dev | |||||||||||
| Target Version | Fixed in Version | 4.00.0+dev | ||||||||||
| Summary | 0005305: ocamlbuild creates link for some files in .itarget | |||||||||||
| Description | ocamlbuild creates links for .cm{i,o,a,xa,xs}-files in current directory and then complains that the directory is dirty: $ ocamlc -version 3.12.1+rc1 $ ls -lab total 16 drwxr-xr-x 2 gds gds 4096 Jun 29 13:14 . drwxrwxrwt 23 root root 4096 Jun 29 13:09 .. -rw-r--r-- 1 gds gds 6 Jun 29 13:08 a.itarget -rw-r--r-- 1 gds gds 28 Jun 29 13:03 a.ml $ cat a.itarget a.cma $ cat a.ml let () = print_string "q\n" $ ocamlbuild a.otarget Finished, 4 targets (0 cached) in 00:00:00. $ ls -lab total 20 drwxr-xr-x 3 gds gds 4096 Jun 29 13:15 . drwxrwxrwt 23 root root 4096 Jun 29 13:09 .. drwxr-xr-x 2 gds gds 4096 Jun 29 13:15 _build lrwxrwxrwx 1 gds gds 12 Jun 29 13:15 a.cma -> _build/a.cma -rw-r--r-- 1 gds gds 6 Jun 29 13:08 a.itarget -rw-r--r-- 1 gds gds 28 Jun 29 13:03 a.ml $ ocamlbuild a.otarget SANITIZE: a total of 1 file that should probably not be in your source tree has been found. A script shell file "_build/sanitize.sh" is being created. Check this script and run it to remove unwanted files or use other options (such as defining hygiene exceptions or using the -no-hygiene option). IMPORTANT: I cannot work with leftover compiled files. ERROR: Leftover Ocaml compilation files: File a.cma in . has suffix .cma Exiting due to hygiene violations. Compilation unsuccessful after building 0 targets (0 cached) in 00:00:00. $ | |||||||||||
| Tags | No tags attached. | |||||||||||
| Attached Files | ||||||||||||
Notes |
|
|
(0006037) Dmitry Grebeniuk (reporter) 2011-06-29 12:27 |
As I see now, the problem is not in the created symlinks, but in the way the ocamlbuild determines whether the directory is dirty. For example, in a slightly modified example the .byte and .native files are handled as "clean" (look at the list with "Leftover Ocaml compilation files"): $ ls -lab total 20 drwxr-xr-x 3 gds gds 4096 Jun 29 13:21 . drwxrwxrwt 24 root root 4096 Jun 29 13:21 .. drwxr-xr-x 2 gds gds 4096 Jun 29 13:21 _build lrwxrwxrwx 1 gds gds 13 Jun 29 13:21 a.byte -> _build/a.byte lrwxrwxrwx 1 gds gds 12 Jun 29 13:21 a.cma -> _build/a.cma lrwxrwxrwx 1 gds gds 12 Jun 29 13:21 a.cmi -> _build/a.cmi lrwxrwxrwx 1 gds gds 12 Jun 29 13:21 a.cmo -> _build/a.cmo lrwxrwxrwx 1 gds gds 13 Jun 29 13:21 a.cmxa -> _build/a.cmxa lrwxrwxrwx 1 gds gds 13 Jun 29 13:21 a.cmxs -> _build/a.cmxs -rw-r--r-- 1 gds gds 48 Jun 29 13:20 a.itarget -rw-r--r-- 1 gds gds 28 Jun 29 13:17 a.ml lrwxrwxrwx 1 gds gds 15 Jun 29 13:21 a.native -> _build/a.native $ ocamlbuild a.otarget SANITIZE: a total of 4 files that should probably not be in your source tree has been found. A script shell file "_build/sanitize.sh" is being created. Check this script and run it to remove unwanted files or use other options (such as defining hygiene exceptions or using the -no-hygiene option). IMPORTANT: I cannot work with leftover compiled files. ERROR: Leftover Ocaml compilation files: File a.cmo in . has suffix .cmo File a.cmi in . has suffix .cmi File a.cma in . has suffix .cma File a.cmxa in . has suffix .cmxa Exiting due to hygiene violations. Compilation unsuccessful after building 0 targets (0 cached) in 00:00:00. $ |
|
(0006038) Dmitry Grebeniuk (reporter) 2011-06-29 13:08 |
I've found this bug while installing "batteries": "make install" failed after "make all". |
|
(0006047) elehack (reporter) 2011-07-17 01:13 |
Passing -no-links to ocamlbuild serves as a workround for this bug, and that is what we are currently doing in the Batteries sources. |
|
(0007432) lefessan (developer) 2012-05-15 11:02 |
ocamlbuild won't complain anymore about remaining links to the _build/ directory. |
Issue History |
|||
| Date Modified | Username | Field | Change |
| 2011-06-29 12:20 | Dmitry Grebeniuk | New Issue | |
| 2011-06-29 12:27 | Dmitry Grebeniuk | Note Added: 0006037 | |
| 2011-06-29 13:08 | Dmitry Grebeniuk | Note Added: 0006038 | |
| 2011-07-17 01:13 | elehack | Note Added: 0006047 | |
| 2012-02-02 15:17 | protz | Category | OCamlbuild => OCamlbuild (the tool) |
| 2012-03-26 16:16 | lefessan | Assigned To | => lefessan |
| 2012-03-26 16:16 | lefessan | Status | new => assigned |
| 2012-05-15 11:02 | lefessan | Note Added: 0007432 | |
| 2012-05-15 11:02 | lefessan | Status | assigned => resolved |
| 2012-05-15 11:02 | lefessan | Fixed in Version | => 4.00.0+dev |
| 2012-05-15 11:02 | lefessan | Resolution | open => fixed |
| Copyright © 2000 - 2011 MantisBT Group |