[Libguestfs] [PATCH v2] Link .mli files corresponding to autorgenerated .ml files into builddir

Hilko Bengen bengen at hilluzination.de
Tue Jan 14 11:23:15 UTC 2020


This avoids occasional build failures in builddir != srcdir situations:

,----
| ocamlfind ocamlc -package str,unix -I . -a guestfs_config.cmo stringMap.cmo stringSet.cmo std_utils.cmo -o mlstdutils.cma
| ar cr libmlstdutils.a libmlstdutils_a-dummy.o
| ranlib libmlstdutils.a
| File "_none_", line 1:
| Error: Files std_utils.cmo and guestfs_config.cmo
|        make inconsistent assumptions over interface Guestfs_config
| make[4]: *** [Makefile:2580: mlstdutils.cma] Error 2
`----

If ocamlc does not find a corresponding .cmi interface file while
building a .cmo object file from .ml source, it will also construct
that .cmi file from the .ml file. This happens in a race with the
build system's explicit .mli -> .cmi build step and therefore may lead
to the result above.
---
 configure.ac | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/configure.ac b/configure.ac
index 5f8310a640..ad0af9cc81 100644
--- a/configure.ac
+++ b/configure.ac
@@ -353,6 +353,9 @@ AC_CONFIG_FILES([Makefile
                  tools/Makefile
                  website/index.html])
 
+AC_CONFIG_LINKS([common/mlstdutils/guestfs_config.mli:common/mlstdutils/guestfs_config.mli
+                 daemon/daemon_config.mli:daemon/daemon_config.mli])
+
 AC_OUTPUT
 
 dnl Produce summary.
-- 
2.25.0.rc2





More information about the Libguestfs mailing list