Bug 151785 - net/unison-devel not suitable for parallel build
Summary: net/unison-devel not suitable for parallel build
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: Normal Affects Only Me
Assignee: Matthias Andree
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-10-27 20:00 UTC by Matthias Andree
Modified: 2010-11-29 20:50 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Matthias Andree freebsd_committer freebsd_triage 2010-10-27 20:00:15 UTC
unison-devel fails to build if MAKE_JOBS_NUMBER is >= 1, for instance,
on multicore computers.  I have set it to MAKE_JOBS_UNSAFE for the
nonce, however, I'd propose that this be fixed. This is usually a sign
that there is a lack of dependency information in the build machinery.

I know too little of OCaML to make more precise statements.

Find below the tail of the log how it fails on my Quadcore computer:


Linking unison-text
ocamlopt -verbose -I lwt -I ubase -o unison-text   unix.cmxa str.cmxa bigarray.cmxa -cclib -lutil ubase/projectInfo.cmx ubase/myMap.cmx ubase/safelist.cmx ubase/uprintf.cmx ubase/util.cmx ubase/rx.cmx ubase/uarg.cmx ubase/prefs.cmx ubase/trace.cmx lwt/pqueue.cmx lwt/lwt.cmx lwt/lwt_util.cmx lwt/lwt_unix.cmx bytearray.cmx case.cmx pred.cmx uutil.cmx fileutil.cmx name.cmx path.cmx fspath.cmx fingerprint.cmx abort.cmx osx.cmx external.cmx props.cmx fileinfo.cmx os.cmx lock.cmx clroot.cmx common.cmx tree.cmx checksum.cmx terminal.cmx transfer.cmx xferhint.cmx remote.cmx globals.cmx copy.cmx stasher.cmx update.cmx files.cmx sortri.cmx recon.cmx transport.cmx strings.cmx uicommon.cmx uitext.cmx test.cmx main.cmx linktext.cmx osxsupport.o pty.o bytearray_stubs.o
+ as -o '/tmp/camlstartup483aff.o' '/tmp/camlstartupca1da4.s'
+ cc -o 'unison-text'   '-Llwt' '-Lubase' '-L/usr/local/lib/ocaml' '/tmp/camlstartup483aff.o' '/usr/local/lib/ocaml/std_exit.o' 'linktext.o' 'main.o' 'test.o' 'uitext.o' 'uicommon.o' 'strings.o' 'transport.o' 'recon.o' 'sortri.o' 'files.o' 'update.o' 'stasher.o' 'copy.o' 'globals.o' 'remote.o' 'xferhint.o' 'transfer.o' 'terminal.o' 'checksum.o' 'tree.o' 'common.o' 'clroot.o' 'lock.o' 'os.o' 'fileinfo.o' 'props.o' 'external.o' 'osx.o' 'abort.o' 'fingerprint.o' 'fspath.o' 'path.o' 'name.o' 'fileutil.o' 'uutil.o' 'pred.o' 'case.o' 'bytearray.o' 'lwt/lwt_unix.o' 'lwt/lwt_util.o' 'lwt/lwt.o' 'lwt/pqueue.o' 'ubase/trace.o' 'ubase/prefs.o' 'ubase/uarg.o' 'ubase/rx.o' 'ubase/util.o' 'ubase/uprintf.o' 'ubase/safelist.o' 'ubase/myMap.o' 'ubase/projectInfo.o' '/usr/local/lib/ocaml/bigarray.a' '/usr/local/lib/ocaml/str.a' '/usr/local/lib/ocaml/unix.a' '/usr/local/lib/ocaml/stdlib.a' '-lbigarray' '-lstr' '-lunix' '-lutil' 'osxsupport.o' 'pty.o' 'bytearray_stubs.o' '/usr/local/lib/ocaml/libasmrun.a' -lm
(if [ -f unison-text ]; then ./unison-text -doc install > INSTALLATION; fi)
gmake: Leaving directory `/usr/ports/net/unison-devel/work/unison-2.32.52'

===>>> Starting check for runtime dependencies
===>>> Gathering dependency list for net/unison-devel from ports
===>>> Dependency check complete for net/unison-devel
===>  Installing for unison-devel-2.32.52_2
===>   Generating temporary packing list
===>  Checking if net/unison-devel already installed
install  -s -o root -g wheel -m 555 /usr/ports/net/unison-devel/work/unison-2.32.52/unison /usr/local/bin
install: /usr/ports/net/unison-devel/work/unison-2.32.52/unison: No such file or directory
*** Error code 71

Stop in /usr/ports/net/unison-devel.

===>>> Installation of unison-devel-2.32.52_2 (net/unison-devel) failed
===>>> Aborting update

===>>> The following actions were performed:
        Installation of lang/ocaml (ocaml-3.11.2)
        Installation of graphics/ocaml-lablgl (ocaml-lablgl-1.04)
        Installation of x11-toolkits/gtkglarea2 (gtkglarea-2.0.1_2)
        Installation of x11-toolkits/ocaml-lablgtk2 (ocaml-lablgtk2-2.14.0_2)

How-To-Repeat: Add FORCE_MAKE_JOBS=yes and MAKE_JOBS_NUMBER=4 to /etc/make.conf
cd /usr/ports/net/unison-devel
make install clean
Comment 1 Tilman Keskinoz freebsd_committer freebsd_triage 2010-11-23 14:14:24 UTC
State Changed
From-To: open->closed

Adding MAKE_JOBS_UNSAFE=yes addressed the problem reported in this PR.
Comment 2 Matthias Andree freebsd_committer freebsd_triage 2010-11-24 17:49:33 UTC
State Changed
From-To: closed->open

reopening - we have sidestepped the problem, not solved it 


Comment 3 Matthias Andree freebsd_committer freebsd_triage 2010-11-24 17:49:33 UTC
Responsible Changed
From-To: freebsd-ports-bugs->mandree

reopening - we have sidestepped the problem, not solved it
Comment 4 Matthias Andree freebsd_committer freebsd_triage 2010-11-24 17:53:57 UTC
Hi Daniel,

is there a chance that you might look into
<http://www.freebsd.org/cgi/query-pr.cgi?pr=151785> or take this to the upstream
maintainers?

I guess that some dependency information might be missing, or some error in the
parallel build concealed, so that we end up with an incomplete build -- this
shows then later during install phase.

Thank you.

Best regards
Matthias
Comment 5 Matthias Andree freebsd_committer freebsd_triage 2010-11-24 17:54:12 UTC
State Changed
From-To: open->feedback

waiting for maintainer's view
Comment 6 Matthias Andree freebsd_committer freebsd_triage 2010-11-29 12:45:01 UTC
Hi Daniel,

please let me know if you approve of the attached patch to allow
for parallel builds on FreeBSD.  It also removes the MD5 checksums from
distinfo to track recent ports architecture changes.

Thanks.

Best regards
Matthias Andree (ports committer)


--- unison-devel-2.32.52_2.patch begins here ---
Index: Makefile
===================================================================
RCS file: /home/ncvs/ports/net/unison-devel/Makefile,v
retrieving revision 1.25
diff -u -u -r1.25 Makefile
--- Makefile	27 Oct 2010 18:52:00 -0000	1.25
+++ Makefile	29 Nov 2010 12:38:20 -0000
@@ -23,7 +23,8 @@
 MAKE_ARGS=	CFLAGS=""
 CONFLICTS=	unison-[0-9]* unison-nox11-[0-9]*
 
-MAKE_JOBS_UNSAFE=yes
+MAKE_JOBS_SAFE=yes
+ALL_TARGET=	unison all
 
 .include <bsd.port.pre.mk>
 
Index: distinfo
===================================================================
RCS file: /home/ncvs/ports/net/unison-devel/distinfo,v
retrieving revision 1.12
diff -u -u -r1.12 distinfo
--- distinfo	13 Aug 2009 16:57:10 -0000	1.12
+++ distinfo	29 Nov 2010 12:39:27 -0000
@@ -1,12 +1,8 @@
-MD5 (unison-2.32.52/unison-2.32.52.tar.gz) = 0701f095c1721776a0454b94607eda48
 SHA256 (unison-2.32.52/unison-2.32.52.tar.gz) = 1542e5d4ad03e928260e061a8ff9d5e0bca3282481ed8bec5552de17a0270485
 SIZE (unison-2.32.52/unison-2.32.52.tar.gz) = 697866
-MD5 (unison-2.32.52/unison-2.32.52-manual.html) = 68379a1c5a5ab3d068726badc7d1135c
 SHA256 (unison-2.32.52/unison-2.32.52-manual.html) = c898239d8139d8405b96d87e12c06c7f41fd3629cac0c83bc338aad50fed7f81
 SIZE (unison-2.32.52/unison-2.32.52-manual.html) = 249124
-MD5 (unison-2.32.52/unison-2.32.52-manual.pdf) = 6d3f0e61ab69591759f18e4f103a0020
 SHA256 (unison-2.32.52/unison-2.32.52-manual.pdf) = b3fee7ac99907f3b1ed02c6ac901678e82ea1eed936acb45e9735b95d55cc4eb
 SIZE (unison-2.32.52/unison-2.32.52-manual.pdf) = 478388
-MD5 (unison-2.32.52/unison-2.32.52-manual.ps) = 208157edde7f37e79c6eb1cf9192d350
 SHA256 (unison-2.32.52/unison-2.32.52-manual.ps) = 779924e2a89ab2592c512e808cfcdf302c1a691fb1f2a6a02cc415fdc87770e5
 SIZE (unison-2.32.52/unison-2.32.52-manual.ps) = 572128
--- unison-devel-2.32.52_2.patch ends here ---
Comment 7 dan 2010-11-29 19:10:51 UTC
I approve, assuming you tested this. I've no ability to test.


On Nov 29, 2010, at 2:45 PM, Matthias Andree wrote:

> Hi Daniel,
>=20
> please let me know if you approve of the attached patch to allow
> for parallel builds on FreeBSD.  It also removes the MD5 checksums =
from
> distinfo to track recent ports architecture changes.
>=20
> Thanks.
>=20
> Best regards
> Matthias Andree (ports committer)
>=20
>=20
> --- unison-devel-2.32.52_2.patch begins here ---
> Index: Makefile
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/ports/net/unison-devel/Makefile,v
> retrieving revision 1.25
> diff -u -u -r1.25 Makefile
> --- Makefile	27 Oct 2010 18:52:00 -0000	1.25
> +++ Makefile	29 Nov 2010 12:38:20 -0000
> @@ -23,7 +23,8 @@
> MAKE_ARGS=3D	CFLAGS=3D""
> CONFLICTS=3D	unison-[0-9]* unison-nox11-[0-9]*
>=20
> -MAKE_JOBS_UNSAFE=3Dyes
> +MAKE_JOBS_SAFE=3Dyes
> +ALL_TARGET=3D	unison all
>=20
> .include <bsd.port.pre.mk>
>=20
> Index: distinfo
> =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
> RCS file: /home/ncvs/ports/net/unison-devel/distinfo,v
> retrieving revision 1.12
> diff -u -u -r1.12 distinfo
> --- distinfo	13 Aug 2009 16:57:10 -0000	1.12
> +++ distinfo	29 Nov 2010 12:39:27 -0000
> @@ -1,12 +1,8 @@
> -MD5 (unison-2.32.52/unison-2.32.52.tar.gz) =3D =
0701f095c1721776a0454b94607eda48
> SHA256 (unison-2.32.52/unison-2.32.52.tar.gz) =3D =
1542e5d4ad03e928260e061a8ff9d5e0bca3282481ed8bec5552de17a0270485
> SIZE (unison-2.32.52/unison-2.32.52.tar.gz) =3D 697866
> -MD5 (unison-2.32.52/unison-2.32.52-manual.html) =3D =
68379a1c5a5ab3d068726badc7d1135c
> SHA256 (unison-2.32.52/unison-2.32.52-manual.html) =3D =
c898239d8139d8405b96d87e12c06c7f41fd3629cac0c83bc338aad50fed7f81
> SIZE (unison-2.32.52/unison-2.32.52-manual.html) =3D 249124
> -MD5 (unison-2.32.52/unison-2.32.52-manual.pdf) =3D =
6d3f0e61ab69591759f18e4f103a0020
> SHA256 (unison-2.32.52/unison-2.32.52-manual.pdf) =3D =
b3fee7ac99907f3b1ed02c6ac901678e82ea1eed936acb45e9735b95d55cc4eb
> SIZE (unison-2.32.52/unison-2.32.52-manual.pdf) =3D 478388
> -MD5 (unison-2.32.52/unison-2.32.52-manual.ps) =3D =
208157edde7f37e79c6eb1cf9192d350
> SHA256 (unison-2.32.52/unison-2.32.52-manual.ps) =3D =
779924e2a89ab2592c512e808cfcdf302c1a691fb1f2a6a02cc415fdc87770e5
> SIZE (unison-2.32.52/unison-2.32.52-manual.ps) =3D 572128
> --- unison-devel-2.32.52_2.patch ends here ---
>=20
Comment 8 Matthias Andree freebsd_committer freebsd_triage 2010-11-29 20:21:22 UTC
Am 29.11.2010 20:10, schrieb Dan Pelleg:
> I approve, assuming you tested this. I've no ability to test.

Hi Dan,

Works on my Phenom II X4 FWIW -- but you can also test that on a singlecore
computer, these will - through time-sharing - usually exhibit the same problems
in different places, set FORCE_MAKE_JOBS=yes and MAKE_JOBS_NUMBER=3 in
/etc/make.conf.  Depending on disk speed, this actually speed things up even on
a singlecore computer because the compilation process of 1 - 2 other files masks
the I/O wait time of the first process.

Thanks.
Comment 9 dfilter service freebsd_committer freebsd_triage 2010-11-29 20:44:38 UTC
mandree     2010-11-29 20:44:34 UTC

  FreeBSD ports repository

  Modified files:
    net/unison-devel     Makefile distinfo 
  Log:
  Fix parallel build.
  
  Submitted by: mandree (myself)
  Approved by:  Dan Pelleg (maintainer)
  PR:           ports/151785
  
  Revision  Changes    Path
  1.26      +2 -1      ports/net/unison-devel/Makefile
  1.13      +0 -4      ports/net/unison-devel/distinfo
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 10 Matthias Andree freebsd_committer freebsd_triage 2010-11-29 20:46:20 UTC
State Changed
From-To: feedback->closed

Committed. Thanks!