On Tue, Aug 28, 2012 at 11:59:11AM +0200, Jim Meyering wrote:
Hi Rich,
I ran these commands as non-root:
./autogen.sh && make && make distcheck
It got most of the way through, but failed in the VPATH part
while rebuilding from a ./_build subdir, like this:
make[4]: Entering directory `/h/j/w/co/hivex/hivex-1.3.6/_build/ocaml'
mkdir -p /usr/lib64/ocaml
mkdir -p /usr/lib64/ocaml/stublibs
ocamlfind install \
-ldconf ignore -destdir /usr/lib64/ocaml \
hivex \
META *.so *.a *.cma *.cmi ../../ocaml/*.mli *.cmx *.cmxa
ocamlfind: Cannot mkdir /usr/lib64/ocaml/hivex: Permission denied
make[4]: *** [install-data-hook] Error 2
make[4]: Leaving directory `/h/j/w/co/hivex/hivex-1.3.6/_build/ocaml'
make[3]: *** [install-data-am] Error 2
make[3]: Leaving directory `/h/j/w/co/hivex/hivex-1.3.6/_build/ocaml'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/h/j/w/co/hivex/hivex-1.3.6/_build/ocaml'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/h/j/w/co/hivex/hivex-1.3.6/_build'
make: *** [distcheck] Error 1
Obviously, it should not be trying to create directories under /usr.
The rule in the Makefile.am is:
install-data-hook:
mkdir -p $(DESTDIR)$(OCAMLLIB)
mkdir -p $(DESTDIR)$(OCAMLLIB)/stublibs
$(OCAMLFIND) install \
-ldconf ignore -destdir $(DESTDIR)$(OCAMLLIB) \
$(PACKAGE_NAME) \
$(install_files)
So that must mean that DESTDIR is not being set.
There are also environment variables that ocamlfind itself will use
(see findlib.conf(5)). Although they don't appear to be relevant here
it may be worth looking at that man page.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming blog:
http://rwmj.wordpress.com
Fedora now supports 80 OCaml packages (the OPEN alternative to F#)
http://cocan.org/getting_started_with_ocaml_on_red_hat_and_fedora