Bug 238905

Summary: devel/ocaml-ocamlbuild: plist issues (install fails) if built after devel/ocaml-findlib is installed
Product: Ports & Packages Reporter: John Hein <jcfyecrayz>
Component: Individual Port(s)Assignee: Alexey Dokuchaev <danfe>
Status: Closed FIXED    
Severity: Affects Some People CC: danfe, hrs, lwhsu
Priority: ---    
Version: Latest   
Hardware: Any   
OS: Any   
See Also: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=238904

Description John Hein 2019-07-01 04:04:42 UTC
If devel/ocaml-findlib is already installed, building devel/ocaml-ocamlbuild fails to install.  And 'make -C /usr/ports/devel/ocaml-ocamlbuild check-plist' produces the following errors:

====> Checking for pkg-plist issues (check-plist)
===> Parsing plist
===> Checking for items in STAGEDIR missing from pkg-plist
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/META
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild.cmo
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild.cmx
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild.o
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_executor.cmi
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_executor.cmx
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_executor.o
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_pack.cmi
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_pack.cmx
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_plugin.cmi
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_plugin.cmx
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_plugin.o
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.cmi
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.cmx
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.o
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuildlib.a
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuildlib.cma
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/ocamlbuildlib.cmxa
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/signatures.cmi
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/signatures.cmti
Error: Orphaned: %%OCAML_SITELIBDIR%%:/usr/local/lib/ocaml/ocamlbuild/signatures.mli
===> Checking for items in pkg-plist which are not in STAGEDIR
Error: Missing: lib/ocaml/ocamlbuild/META
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild.cmo
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild.cmx
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild.o
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_executor.cmi
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_executor.cmx
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_executor.o
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_pack.cmi
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_pack.cmx
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_plugin.cmi
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_plugin.cmx
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_plugin.o
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.cmi
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.cmx
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.o
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuildlib.a
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuildlib.cma
Error: Missing: lib/ocaml/ocamlbuild/ocamlbuildlib.cmxa
Error: Missing: lib/ocaml/ocamlbuild/signatures.cmi
Error: Missing: lib/ocaml/ocamlbuild/signatures.cmti
Error: Missing: lib/ocaml/ocamlbuild/signatures.mli
===> Error: Plist issues found.
*** Error code 1


If you ignore the check-plist error and try 'make install', it will fail:

===>   Registering installation for ocaml-ocamlbuild-0.14.0 as automatic
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/META:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild.cmo:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild.cmx:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild.o:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_executor.cmi:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_executor.cmx:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_executor.o:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_pack.cmi:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_pack.cmx:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_plugin.cmi:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_plugin.cmx:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_plugin.o:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.cmi:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.cmx:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuild_unix_plugin.o:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuildlib.a:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuildlib.cma:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/ocamlbuildlib.cmxa:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/signatures.cmi:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/signatures.cmti:No such file or directory
pkg-static: Unable to access file /usr/ports/devel/ocaml-ocamlbuild/work/stage/usr/local/lib/ocaml/ocamlbuild/signatures.mli:No such file or directory
*** Error code 74
Comment 1 Li-Wen Hsu freebsd_committer 2020-06-17 00:08:27 UTC
Over to maintainer.
Comment 2 commit-hook freebsd_committer 2021-09-06 18:11:49 UTC
A commit in branch main references this bug:

URL: https://cgit.FreeBSD.org/ports/commit/?id=e23df5c93afcc5b59e421073e8cb072c0922cebd

commit e23df5c93afcc5b59e421073e8cb072c0922cebd
Author:     Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2021-09-06 18:10:28 +0000
Commit:     Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2021-09-06 18:10:29 +0000

    devel/ocaml-ocamlbuild: fix install in presence of `devel/ocaml-findlib'

    If ocamlfind(1) is installed, its output of `printconf destdir' is used
    as OCAMLBUILD_LIBDIR, which does not match OCAML_LIBDIR and is actually
    not a single directory, but colon-separated path list.  Specify correct
    destination explicitly to avoid this type of side effects.  While at it,
    hook the test suite to our framework.

    PR:             238905
    Reported by:    John Hein

 devel/ocaml-ocamlbuild/Makefile | 3 +++
 1 file changed, 3 insertions(+)
Comment 3 Alexey Dokuchaev freebsd_committer 2021-09-06 18:29:54 UTC
Thank you for the report, should be (finally) fixed now.