Hi! lablgtk2 is currently broken when building with systrace on:
... Installed /usr/ports/pobj/lablgtk2-2.16.0/fake-amd64/usr/local/lib/ocaml/stublibs/dlllablrsvg.so Installed /usr/ports/pobj/lablgtk2-2.16.0/fake-amd64/usr/local/lib/ocaml/stublibs/dlllablrsvg.so.owner Installed /usr/ports/pobj/lablgtk2-2.16.0/fake-amd64/usr/local/lib/ocaml/stublibs/dlllablglade2.so Installed /usr/ports/pobj/lablgtk2-2.16.0/fake-amd64/usr/local/lib/ocaml/stublibs/dlllablglade2.so.owner Installed /usr/ports/pobj/lablgtk2-2.16.0/fake-amd64/usr/local/lib/ocaml/stublibs/dlllablgtk2.so Installed /usr/ports/pobj/lablgtk2-2.16.0/fake-amd64/usr/local/lib/ocaml/stublibs/dlllablgtk2.so.owner ocamlfind: [WARNING] You have installed DLLs but the directory /usr/ports/pobj/lablgtk2-2.16.0/fake-amd64/usr/local/lib/ocaml/stublibs is not mentioned in ld.conf ranlib "`ocamlfind query lablgtk2 | tr -d '\r'`"/liblablgtk2.a "`ocamlfind query lablgtk2 | tr -d '\r'`"/liblablglade2.a "`ocamlfind query lablgtk2 | tr -d '\r'`"/liblablrsvg.a "`ocamlfind query lablgtk2 | tr -d '\r'`"/liblablgtksourceview2.a systrace: deny user: root, prog: /usr/bin/ranlib, pid: 21753(0)[18156], policy: /usr/bin/env, filters: 241, syscall: native-fswrite(5), filename: /usr/local/lib/ocaml/lablgtk2/stcQnacy ranlib: /usr/local/lib/ocaml/lablgtk2/liblablgtk2.a: Operation not permitted gmake[1]: *** [findlib-install] Error 1 gmake[1]: Leaving directory `/usr/ports/pobj/lablgtk2-2.16.0/lablgtk-2.16.0/src' gmake: *** [install] Error 2 *** Error 2 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2683 '/usr/ports/pobj/lablgtk2-2.16.0/fake-amd64/.fake_done') *** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:1804 '/usr/ports/packages/amd64/all/lablgtk2-2.16.0p1.tgz') *** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2343 '_internal-package') *** Error 1 in . (/usr/ports/infrastructure/mk/bsd.port.mk:2323 'package') *** Error 1 in /usr/ports/x11/lablgtk2 (/usr/ports/infrastructure/mk/bsd.port.mk:3290 'repackage') The diff below (adapted from upstream git) fixes it. Tested on amd64 (native) and sparc64 (non-native). Are you ok? Ciao, David Index: Makefile =================================================================== RCS file: /cvs/ports/x11/lablgtk2/Makefile,v retrieving revision 1.21 diff -u -p -r1.21 Makefile --- Makefile 30 Nov 2012 19:38:09 -0000 1.21 +++ Makefile 31 Jan 2013 11:19:11 -0000 @@ -3,7 +3,7 @@ COMMENT = OCaml interface to GTK+2 V = 2.16.0 -REVISION= 0 +REVISION= 1 DISTNAME = lablgtk-$V PKGNAME = lablgtk2-$V CATEGORIES = x11 devel Index: patches/patch-config_make_in =================================================================== RCS file: patches/patch-config_make_in diff -N patches/patch-config_make_in --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-config_make_in 31 Jan 2013 11:19:11 -0000 @@ -0,0 +1,27 @@ +$OpenBSD$ + +Support DESTDIR with findlib-install; unbreak systraced builds +(adapted from upstream git 58e15c3a33ee747e3e58a2c9687f22234f0055b6) + +--- config.make.in.orig Thu Aug 23 12:37:48 2012 ++++ config.make.in Thu Jan 31 11:48:57 2013 +@@ -9,6 +9,7 @@ OCAMLDOC=@OCAMLDOC@ + CAMLMKTOP=@CAMLMKTOP@ + CAMLMKLIB=@CAMLMKLIB@ + CAMLP4O=@CAMLP4O@ ++FINDLIBDIR=@FINDLIBDIR@ + CAMLBEST=@OCAMLBEST@ + CAMLWIN32=@OCAMLWIN32@ + CAMLDEP=@OCAMLDEP@ +@@ -56,9 +57,11 @@ BINDIR=$(DESTDIR)@bindir@ + # where to install the man page + MANDIR=$(DESTDIR)@mandir@ + ++LABLGTKDIR=@LIBDIR@/lablgtk2 + INSTALLDIR=$(DESTDIR)@LIBDIR@/lablgtk2 + DLLDIR=$(DESTDIR)@LIBDIR@/stublibs + LABLGLDIR=@LABLGLDIR@ ++FLINSTALLDIR=$(DESTDIR)$(FINDLIBDIR)/lablgtk2 + + FILT = -Wl,--export-dynamic + clean_libs = $(subst -pthread,-ldopt -pthread -ccopt -pthread,$(subst --rpath,-rpath,$(filter-out $(FILT),$(1)))) Index: patches/patch-configure =================================================================== RCS file: patches/patch-configure diff -N patches/patch-configure --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-configure 31 Jan 2013 11:19:11 -0000 @@ -0,0 +1,25 @@ +$OpenBSD$ + +Support DESTDIR with findlib-install; unbreak systraced builds +(adapted from upstream git 58e15c3a33ee747e3e58a2c9687f22234f0055b6) + +--- configure.orig Thu Aug 23 12:37:48 2012 ++++ configure Thu Jan 31 11:49:11 2013 +@@ -568,6 +568,7 @@ DEBUG + USE_CC + HAVE_SVGZ + LABLGLDIR ++FINDLIBDIR + HAS_NATIVE_DYNLINK + HAS_DLL_SUPPORT + THREADS_LIB +@@ -2607,6 +2608,9 @@ fi + if test "$CAMLP4O" = no ; then + as_fn_error $? "Cannot find camlp4o." "$LINENO" 5 + fi ++ ++FINDLIBDIR="`ocamlfind printconf destdir | tr -d '\\r'`" ++echo "ocamlfind library path is $FINDLIBDIR" + + if expr "$OCAMLVERSION" '>=' '4' > /dev/null ; then + ODOC_DEF="-D OCAML_400" Index: patches/patch-src_Makefile =================================================================== RCS file: /cvs/ports/x11/lablgtk2/patches/patch-src_Makefile,v retrieving revision 1.2 diff -u -p -r1.2 patch-src_Makefile --- patches/patch-src_Makefile 9 Oct 2012 09:22:24 -0000 1.2 +++ patches/patch-src_Makefile 31 Jan 2013 11:19:11 -0000 @@ -1,6 +1,10 @@ $OpenBSD: patch-src_Makefile,v 1.2 2012/10/09 09:22:24 dcoppa Exp $ + +Support DESTDIR with findlib-install; unbreak systraced builds +(adapted from upstream git 58e15c3a33ee747e3e58a2c9687f22234f0055b6) + --- src/Makefile.orig Thu Aug 23 12:37:48 2012 -+++ src/Makefile Fri Aug 24 12:06:15 2012 ++++ src/Makefile Thu Jan 31 12:00:38 2013 @@ -48,7 +48,7 @@ CUSTOM = -custom #MLLINK += -cclib -lcamlrund MLBYTEFLAGS = -g -dtypes @@ -19,3 +23,48 @@ $OpenBSD: patch-src_Makefile,v 1.2 2012/ else CCOMPILER = $(CAMLC) -c -ccopt '$(CFLAGS)' -verbose endif +@@ -274,7 +274,7 @@ lablgtktop$(XE): $(MLLIBS) $(THOBJS) $(CONFIG) + endif + + lablgtk2: Makefile $(CONFIG) lablgtk2.in +- sed -e "s|@INSTALLDIR@|$(INSTALLDIR)|g" \ ++ sed -e "s|@INSTALLDIR@|$(LABLGTKDIR)|g" \ + -e "s|@LABLGLDIR@|$(LABLGLDIR)|g" \ + -e "s|@MLLIBS@|$(MLLINK) $(MLLIBS)|g" \ + -e "s|@INITOBJS@|$(INITOBJS)|g" \ +@@ -391,7 +391,9 @@ old-uninstall: + # Install using ocamlfind + findlib-install: + mkdir -p "$(BINDIR)" +- ocamlfind install lablgtk2 ../META \ ++ mkdir -p "$(DESTDIR)$(FINDLIBDIR)" ++ ocamlfind install -destdir "$(DESTDIR)$(FINDLIBDIR)" \ ++ lablgtk2 ../META \ + build.ml \ + $(CLIBS) \ + $(ALLOBJS:.cmo=.cmi) $(EXTRA_OBJS:.cmo=.cmi) \ +@@ -427,16 +429,19 @@ findlib-install: + then \ + echo $(CLIBS:lib%$(XA)=dll%$(XA)) ; \ + fi` +- $(RANLIB) $(CLIBS:%="`ocamlfind query lablgtk2 | tr -d '\r'`"/%) +- @if test -f lablgtk.cmxa; \ +- then ($(RANLIB) $(MLLIBS:%.cma="`ocamlfind query lablgtk2 | tr -d '\r'`"/%$(XA)) $(EXTRA_MLLIBS:%.cma="`ocamlfind query lablgtk2 | tr -d '\r'`"/%$(XA)) ); fi +- rm lablgtk2$(XB) +- $(MAKE) INSTALLDIR=`ocamlfind query lablgtk2 | tr -d '\r'` lablgtk2$(XB) ++ rm -f lablgtk2 ++ $(MAKE) lablgtk2 LABLGTKDIR="$(FINDLIBDIR)/lablgtk2" + cp lablgtk2$(XB) "$(BINDIR)" + if test -f lablgladecc$(XE); then \ + cp lablgladecc$(XE) "$(BINDIR)/lablgladecc2$(XE)"; \ + fi + cp gdk_pixbuf_mlsource$(XE) "$(BINDIR)" ++ $(RANLIB) $(CLIBS:%=$(FLINSTALLDIR)/%) ++ @if test -f lablgtk.cmxa; then \ ++ echo "Execute $(RANLIB) in $(FLINSTALLDIR)"; \ ++ $(RANLIB) $(MLLIBS:%.cma=$(FLINSTALLDIR)/%$(XA)) \ ++ $(EXTRA_MLLIBS:%.cma=$(FLINSTALLDIR)/%$(XA)) ; \ ++ fi + + findlib-uninstall: + ocamlfind remove lablgtk2
