From: Richard J. <ri...@an...> - 2007-05-19 13:23:01
|
ocaml install.ml fails if the place you're installing from (eg. your home directory) isn't the same mounted device as the place you're installing to (eg. /usr/lib/ocaml). The reason is that it tries to do a rename(2) syscall across devices: 16189 write(1, "Installing extLib.cmi\n", 22) = 22 16189 unlink("/var/tmp/ocaml-extlib-1.5-1-root-rjones/usr/lib64/ocaml/extlib/extLib.cmi") = -1 ENOENT (No such file or directory) 16189 rename("extLib.cmi", "/var/tmp/ocaml-extlib-1.5-1-root-rjones/usr/lib64/ocaml/extlib/extLib.cmi") = -1 EXDEV (Invalid cross-device link) 16189 write(2, "Aborted\n", 8) = 8 (The error message is pretty cryptic too because the code uses try ... with _ ->). The attached patch fixes both issues. Rich. -- Richard Jones Red Hat |