'ocamlfind install' doesn't like to install the same package if it is
already installed. It will give errors like:
ocamlfind: Package guestfs is already installed
or:
ocamlfind: Conflict with file: /usr/lib64/ocaml/guestfs/mlguestfs.cmxa
Fix this by removing the old installed files before running
'ocamlfind install'. An alternative would be to use
'ocamlfind uninstall', but this seems more direct.
---
ocaml/Makefile.am | 6 +++++-
v2v/test-harness/Makefile.am | 6 +++++-
2 files changed, 10 insertions(+), 2 deletions(-)
diff --git a/ocaml/Makefile.am b/ocaml/Makefile.am
index ea41377..ec190e4 100644
--- a/ocaml/Makefile.am
+++ b/ocaml/Makefile.am
@@ -190,7 +190,9 @@ depend: .depend
SUFFIXES = .cmo .cmi .cmx .ml .mli .mll .mly
-# Do the installation by hand, because we want to run ocamlfind.
+# Run ocamlfind to perform the install. ocamlfind refuses to install
+# the package if it is already installed, so remove the old package
+# first.
data_hook_files = META *.so *.a *.cma *.cmi $(srcdir)/*.mli
if HAVE_OCAMLOPT
data_hook_files += *.cmx *.cmxa
@@ -199,6 +201,8 @@ endif
install-data-hook:
mkdir -p $(DESTDIR)$(OCAMLLIB)
mkdir -p $(DESTDIR)$(OCAMLLIB)/stublibs
+ rm -rf $(DESTDIR)$(OCAMLLIB)/guestfs
+ rm -rf $(DESTDIR)$(OCAMLLIB)/stublibs/dllmlguestfs.so*
$(OCAMLFIND) install \
-ldconf ignore -destdir $(DESTDIR)$(OCAMLLIB) \
guestfs \
diff --git a/v2v/test-harness/Makefile.am b/v2v/test-harness/Makefile.am
index c0723fd..7bba689 100644
--- a/v2v/test-harness/Makefile.am
+++ b/v2v/test-harness/Makefile.am
@@ -100,7 +100,9 @@ endif
v2v_test_harness.cmi: $(top_builddir)/ocaml/guestfs.cmi
-# Do the installation by hand, because we want to run ocamlfind.
+# Run ocamlfind to perform the install. ocamlfind refuses to install
+# the package if it is already installed, so remove the old package
+# first.
data_hook_files = META *.so *.a *.cmi $(srcdir)/*.mli
if !HAVE_OCAMLOPT
data_hook_files += *.cmo *.cma
@@ -111,6 +113,8 @@ endif
install-data-hook:
mkdir -p $(DESTDIR)$(OCAMLLIB)
mkdir -p $(DESTDIR)$(OCAMLLIB)/stublibs
+ rm -rf $(DESTDIR)$(OCAMLLIB)/v2v_test_harness
+ rm -rf $(DESTDIR)$(OCAMLLIB)/stublibs/dllv2v_test_harness.so*
$(OCAMLFIND) install \
-ldconf ignore -destdir $(DESTDIR)$(OCAMLLIB) \
v2v_test_harness \
--
2.5.0