Re: MAKE_JOBS_UNSAFE (some more ports)

2009-06-07 Thread David Naylor
On Saturday 06 June 2009 22:56:47 Ion-Mihai Tetcu wrote:
 On Sat, 6 Jun 2009 18:05:14 +0200

 David Naylor naylor.b.da...@gmail.com wrote:
  P.S. Is anyone interested in a list of ports that do not compile
  under tmpfs?

 Me.

The following are on my blacklist for tmpfs build, where:
# df -h | grep tmp
tmpfs 8.3G 12M8.3G 0%/tmp
# grep WRKDIRPREFIX /etc/make.conf
WRKDIRPREFIX=/tmp

editors/openoffice.org-3 (just to big for my computer to handle)
security/gpgme*
lang/ocaml**
java/openjdk6***

* Confirmed build failure on 7.1p2 and -Current from December
* Confirmed build success on -Current from Saturday
** I had a strange problems with math/facile that it wouldn't build if ocaml 
was built on tmpfs (didn't confirm this one)
*** Cannot reproduce (although do remember it)

From what I read it appeared that tmpfs had an internal locking problem 
however it appears to be fixed in current.  


signature.asc
Description: This is a digitally signed message part.


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-06-07 Thread Adam McDougall

David Naylor wrote:

On Saturday 06 June 2009 22:56:47 Ion-Mihai Tetcu wrote:
  

On Sat, 6 Jun 2009 18:05:14 +0200

David Naylor naylor.b.da...@gmail.com wrote:


P.S. Is anyone interested in a list of ports that do not compile
under tmpfs?
  

Me.



The following are on my blacklist for tmpfs build, where:
# df -h | grep tmp
tmpfs 8.3G 12M8.3G 0%/tmp
# grep WRKDIRPREFIX /etc/make.conf
WRKDIRPREFIX=/tmp

editors/openoffice.org-3 (just to big for my computer to handle)
security/gpgme*
lang/ocaml**
java/openjdk6***

* Confirmed build failure on 7.1p2 and -Current from December
* Confirmed build success on -Current from Saturday
** I had a strange problems with math/facile that it wouldn't build if ocaml 
was built on tmpfs (didn't confirm this one)

*** Cannot reproduce (although do remember it)

From what I read it appeared that tmpfs had an internal locking problem 
however it appears to be fixed in current.  
  
Last I tried it, procmail did not build on tmpfs either, I didn't have 
time to report the full details.  After getting a compile error, I 
looked into what was in the build directory and found two files with the 
same name!! I think when I deleted one, I think the size of the other 
showed a change. 
___

freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-06-06 Thread Maho NAKATA
Hi David and *

thanks for your patch, I verified and committed.
Best,

From: Ion-Mihai Tetcu ite...@freebsd.org
Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
Date: Sat, 06 Jun 2009 02:39:42 +0300

 On Sat, 06 Jun 2009 08:26:01 +0900 (JST)
 Maho NAKATA cha...@mac.com wrote:

 From: Ion-Mihai Tetcu ite...@freebsd.org
 Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
 Date: Sat, 06 Jun 2009 01:38:18 +0300

  On Sat, 06 Jun 2009 07:25:35 +0900 (JST)
  Maho NAKATA cha...@mac.com wrote:
 
  thanks for raising as PR :)
  http://www.freebsd.org/cgi/query-pr.cgi?pr=135262
 
  Some support has been committed by Pav, can you please check his
  commit and adjust OOo ports to make use of it?

 I just checked Pav's commit and I checked David's newest patch, and
 his patch seems to make use of Pav's support.

 Cool :)


  This way I could have all OOo ports tested on-commit on QAT ;-)
 Yes, really appreciated.

 Up until now two OOo commits would busy QAT for half a day; with this
 changes committed it's two hours or less :-)

 --
 IOnut - Un^d^dregistered ;) FreeBSD user
   Intellectual Property is   nowhere near as valuable   as Intellect
 FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


pgpAPb9DlmlgE.pgp
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-06-06 Thread David Naylor
On Thursday 21 May 2009 13:56:46 Pav Lucistnik wrote:
 On Thu, 21 May 2009 12:05:22 +0200, David Naylor wrote

  The following ports failed to build on my system (with a quad core)
   and FORCE_MAKE_JOBS set.  They did success to build once I added
  MAKE_JOBS_UNSAFE=yes to their Makefile's.

 Marked in CVS, thank you!

I believe java/jdk* should be marked as unsafe.  They define their own 
do-build targets (and don't use _MAKE_JOBS) so no functional change.  I've 
checked jdk16 with `make MAKE_ARGS=-j4` and build fails.  

I've found the following ports that are UNSAFE:
audio/cdparanoia (under heavy load)
devel/dbus-qt4 (under heavy load)
java/openjdk6

  Is there any effort to mark ports as MAKE_JOBS_SAFE: is it desired
  for ports that are successful with FORCE_MAKE_JOBS to be reported?

 Yes, I believe they should be reported.

Here are all the ports that compile with -DFORCE_MAKE_JOBS, do not have 
MAKE_JOBS_* set and do not define a do-build target:

(NOTE: FORCE_MAKE_JOBS=yes is in make.conf for all builds)
# for i in `pkg_info -oqa`; do cd /usr/ports/$i; if [ -z `make -V 
MAKE_JOBS_SAFE -V MAKE_JOBS_UNSAFE` -a -z `grep do-build Makefile`]; then 
echo $i; fi; done | sort

[ See attached for output ]

Regards,

David

P.S. Is anyone interested in a list of ports that do not compile under tmpfs?
accessibility/atk
accessibility/linux-f8-atk
accessibility/qt4-accessible
archivers/cabextract
archivers/libzip
archivers/p5-Archive-Zip
archivers/p5-Compress-Bzip2
archivers/p5-Compress-Raw-Zlib
archivers/p5-Compress-Zlib
archivers/p5-IO-Compress-Base
archivers/p5-IO-Compress-Zlib
archivers/p5-PerlIO-gzip
archivers/p5-PerlIO-via-Bzip2
archivers/rpm
archivers/unrar
archivers/unzip
archivers/zip
astro/cfitsio
astro/libnova
audio/aacgain
audio/amarok-kde4
audio/faac
audio/faad
audio/flac
audio/gsm
audio/lame
audio/liba52
audio/libamrnb
audio/libamrwb
audio/libao
audio/libcddb
audio/libgpod
audio/libid3tag
audio/libmad
audio/libmikmod
audio/libmodplug
audio/libmtp
audio/libmusicbrainz
audio/libofa
audio/libogg
audio/libtunepimp
audio/libvorbis
audio/madplay
audio/mp3gain
audio/normalize
audio/sdl_mixer
audio/speex
audio/taglib
audio/vorbis-tools
audio/vorbisgain
audio/wavpack
comms/gnokii
converters/fribidi
converters/p5-MIME-Base64
databases/db46
databases/gdbm
databases/mysql51-client
databases/mysql51-server
databases/py-bsddb
databases/py-qt4-sql
databases/qt4-mysql-plugin
databases/qt4-sql
databases/qt4-sqlite3-plugin
databases/rrdtool
databases/sqlite3
devel/ORBit2
devel/apache-ant
devel/autoconf-wrapper
devel/autoconf213
devel/autoconf262
devel/automake-wrapper
devel/automake110
devel/automake14
devel/automake15
devel/automake19
devel/bison
devel/boost-python
devel/clanlib
devel/cmake
devel/dbus
devel/dbus-glib
devel/dbus-qt4
devel/desktop-file-utils
devel/eric4
devel/gamin
devel/gccmakedep
devel/gconf2
devel/gettext
devel/gio-fam-backend
devel/glib12
devel/glib20
devel/gmake
devel/gnome-vfs
devel/imake
devel/kdesvn-kde4
devel/libIDL
devel/libcheck
devel/libdaemon
devel/libexecinfo
devel/libglade2
devel/libical
devel/libltdl15
devel/liboil
devel/libpci
devel/libpciaccess
devel/libpthread-stubs
devel/libstatgrab
devel/libtool15
devel/libvolume_id
devel/m4
devel/makedepend
devel/newfile
devel/nspr
devel/p5-Algorithm-Annotate
devel/p5-Algorithm-Diff
devel/p5-App-CLI
devel/p5-BFD
devel/p5-Class-Accessor
devel/p5-Class-Autouse
devel/p5-Class-Data-Inheritable
devel/p5-Data-Hierarchy
devel/p5-Data-UUID
devel/p5-ExtUtils-CBuilder
devel/p5-ExtUtils-ParseXS
devel/p5-File-Temp
devel/p5-File-chdir
devel/p5-FreezeThaw
devel/p5-Getopt-Long
devel/p5-IO-Digest
devel/p5-IO-Pager
devel/p5-IPC-Run3
devel/p5-Locale-Maketext
devel/p5-Locale-Maketext-Lexicon
devel/p5-Locale-Maketext-Simple
devel/p5-Locale-gettext
devel/p5-Log-Log4perl
devel/p5-Module-Build
devel/p5-Path-Class
devel/p5-PathTools
devel/p5-PerlIO-eol
devel/p5-PerlIO-via-dynamic
devel/p5-PerlIO-via-symlink
devel/p5-Regexp-Shellish
devel/p5-SVN-Dump
devel/p5-SVN-Mirror
devel/p5-SVN-Simple
devel/p5-Storable
devel/p5-Term-ReadKey
devel/p5-Time-Progress
devel/p5-TimeDate
devel/p5-UNIVERSAL-require
devel/p5-VCP-autrijus
devel/p5-prefork
devel/p5-version
devel/patch
devel/pcre
devel/pkg-config
devel/popt
devel/py-astng
devel/py-dbus
devel/py-logilab-common
devel/py-qt4-assistant
devel/py-qt4-core
devel/py-qt4-dbus
devel/py-qt4-designer
devel/py-qt4-designerplugin
devel/py-qt4-help
devel/py-qt4-qscintilla2
devel/py-qt4-script
devel/py-qt4-test
devel/py-sip
devel/pylint
devel/qca
devel/qmake4
devel/qscintilla2
devel/qt4
devel/qt4-assistant
devel/qt4-assistant-adp
devel/qt4-corelib
devel/qt4-designer
devel/qt4-help
devel/qt4-libqtassistantclient
devel/qt4-linguist
devel/qt4-makeqpf
devel/qt4-moc
devel/qt4-porting
devel/qt4-qdbusviewer
devel/qt4-qt3support
devel/qt4-qtestlib
devel/qt4-qvfb
devel/qt4-rcc
devel/qt4-script
devel/qt4-uic
devel/qt4-uic3
devel/sdl12
devel/subversion
devel/t1lib
devel/xorg-macros
devel/yasm
dns/libidn
emulators/wine
ftp/curl
ftp/wget

Re: MAKE_JOBS_UNSAFE (some more ports)

2009-06-06 Thread Ion-Mihai Tetcu
On Sat, 6 Jun 2009 18:05:14 +0200
David Naylor naylor.b.da...@gmail.com wrote:

 P.S. Is anyone interested in a list of ports that do not compile
 under tmpfs?

Me.

-- 
IOnut - Un^d^dregistered ;) FreeBSD user
  Intellectual Property is   nowhere near as valuable   as Intellect
FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


signature.asc
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-06-05 Thread Maho NAKATA
thanks for raising as PR :)
http://www.freebsd.org/cgi/query-pr.cgi?pr=135262
-- Nakata Maho http://accc.riken.jp/maho/ , http://ja.openoffice.org/
   Nakata Maho's PGP public keys: http://accc.riken.jp/maho/maho.pgp.txt


pgpOxw8vi6mZA.pgp
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-06-05 Thread Ion-Mihai Tetcu
On Sat, 06 Jun 2009 07:25:35 +0900 (JST)
Maho NAKATA cha...@mac.com wrote:

 thanks for raising as PR :)
 http://www.freebsd.org/cgi/query-pr.cgi?pr=135262

Some support has been committed by Pav, can you please check his commit
and adjust OOo ports to make use of it? This way I could have all OOo
ports tested on-commit on QAT ;-)

Thanks,

-- 
IOnut - Un^d^dregistered ;) FreeBSD user
  Intellectual Property is   nowhere near as valuable   as Intellect
FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


signature.asc
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-06-05 Thread Maho NAKATA
From: Ion-Mihai Tetcu ite...@freebsd.org
Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
Date: Sat, 06 Jun 2009 01:38:18 +0300

 On Sat, 06 Jun 2009 07:25:35 +0900 (JST)
 Maho NAKATA cha...@mac.com wrote:

 thanks for raising as PR :)
 http://www.freebsd.org/cgi/query-pr.cgi?pr=135262

 Some support has been committed by Pav, can you please check his commit
 and adjust OOo ports to make use of it?

I just checked Pav's commit and I checked David's newest patch, and his
patch seems to make use of Pav's support.

 This way I could have all OOo ports tested on-commit on QAT ;-)
Yes, really appreciated.

Thanks
-- Nakata Maho http://accc.riken.jp/maho/ , http://ja.openoffice.org/
   Nakata Maho's PGP public keys: http://accc.riken.jp/maho/maho.pgp.txt



pgpcmZa4kqYvl.pgp
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-06-05 Thread Ion-Mihai Tetcu
On Sat, 06 Jun 2009 08:26:01 +0900 (JST)
Maho NAKATA cha...@mac.com wrote:

 From: Ion-Mihai Tetcu ite...@freebsd.org
 Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
 Date: Sat, 06 Jun 2009 01:38:18 +0300
 
  On Sat, 06 Jun 2009 07:25:35 +0900 (JST)
  Maho NAKATA cha...@mac.com wrote:
 
  thanks for raising as PR :)
  http://www.freebsd.org/cgi/query-pr.cgi?pr=135262
 
  Some support has been committed by Pav, can you please check his
  commit and adjust OOo ports to make use of it?
 
 I just checked Pav's commit and I checked David's newest patch, and
 his patch seems to make use of Pav's support.

Cool :)

 
  This way I could have all OOo ports tested on-commit on QAT ;-)
 Yes, really appreciated.

Up until now two OOo commits would busy QAT for half a day; with this
changes committed it's two hours or less :-)

-- 
IOnut - Un^d^dregistered ;) FreeBSD user
  Intellectual Property is   nowhere near as valuable   as Intellect
FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


signature.asc
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-06-03 Thread Olivier SMEDTS
2009/5/21 David Naylor naylor.b.da...@gmail.com:
 Hi,

 The following ports failed to build on my system (with a quad core) and
 FORCE_MAKE_JOBS set.  They did success to build once I added
 MAKE_JOBS_UNSAFE=yes to their Makefile's.

 devel/nasm
 graphics/libart_lgpl
 lang/ocaml
 multimedia/mplayer
 multimedia/smplayer
 security/nss

Please also mark misc/e2fsprogs-libuuid as MAKE_JOBS_UNSAFE as it
always fails to build on my quad-core system until I use
MAKE_JOBS_UNSAFE.

Thanks !

 Is there any effort to mark ports as MAKE_JOBS_SAFE: is it desired for ports
 that are successful with FORCE_MAKE_JOBS to be reported?

 Regards

 David

 P.S. I'm not on the list
 P.P.S. editors/openoffice-3 does not obey MAKE_JOBS, it requires MAXMODULES
 and MAXPROCESSES set (should I file a PR?).




-- 
Olivier Smedts _
ASCII ribbon campaign ( )
e-mail: oliv...@gid0.org- against HTML email  vCards  X
www: http://www.gid0.org- against proprietary attachments / \

  Il y a seulement 10 sortes de gens dans le monde :
  ceux qui comprennent le binaire,
  et ceux qui ne le comprennent pas.
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-27 Thread David Naylor
On Tuesday 26 May 2009 23:23:16 Pav Lucistnik wrote:
 David Naylor píše v út 26. 05. 2009 v 18:17 +0200:
  What about the change that exposes MAKE_JOBS_NUMBER when MAKE_JOBS_SAFE
  or FORCE_MAKE_JOBS are defined (to avoid using ${_MAKE_JOBS:C/-j//}, not
  sure what the policy is of ports using *.mk internals).  I think that is
  a reasonable change???

 I think it's reasonable. It will need to be tested widely. Can you file
 a PR with just that change, to help me track it while in testing?

Done, please see PR ports/134977.  This should not have any functional change 
and the only ports (at this stage) that will use MAKE_JOBS_NUMBER is OOo* 
(although games/teeworld is the next closest candidate).  

I've also made some changes to how OOo2 handles concurrency, as pav@ pointed 
out `make -j1` is different to `make` and OOo2 now differentiates between the 
two, could someone please check if the following work:
(cd /usr/ports/editors/openoffice.org-2; make MAKE_JOBS_NUMBER=1) 

OOo3 should be functionally the same to the previous patch however it does not 
make the distinction between `make -j1` and `make` and I don't know enough 
about the build process to know how to add a normal `make`.  

Thanks for all your patience.  

David

P.S. This should have been sent ~9 hours ago, but internet went down.
P.P.S. This should be the final patch (pending OOo2 verification).
diff -ur /usr/ports/Mk/bsd.port.mk ports/Mk/bsd.port.mk
--- /usr/ports/Mk/bsd.port.mk	2009-05-23 13:20:58.0 +0200
+++ ports/Mk/bsd.port.mk	2009-05-27 08:38:44.0 +0200
@@ -2185,11 +2185,8 @@
 _MAKE_JOBS=		#
 .else
 .if defined(MAKE_JOBS_SAFE) || defined(FORCE_MAKE_JOBS)
-.if defined(MAKE_JOBS_NUMBER)
+MAKE_JOBS_NUMBER?=	`${SYSCTL} -n kern.smp.cpus`
 _MAKE_JOBS=		-j${MAKE_JOBS_NUMBER}
-.else
-_MAKE_JOBS=		-j`${SYSCTL} -n kern.smp.cpus`
-.endif
 .if defined(FORCE_MAKE_JOBS)
 BUILD_FAIL_MESSAGE+=	You have chosen to use multiple make jobs (parallelization) for all ports.  This port was not tested for this setting.  Please remove FORCE_MAKE_JOBS and retry the build before reporting the failure to the maintainer.
 .endif
diff -ur /usr/ports/editors/openoffice.org-2/Makefile ports/editors/openoffice.org-2/Makefile
--- /usr/ports/editors/openoffice.org-2/Makefile	2009-01-25 10:45:45.0 +0200
+++ ports/editors/openoffice.org-2/Makefile	2009-05-27 08:38:27.0 +0200
@@ -51,6 +51,7 @@
 USE_PERL5=	yes
 USE_BZIP2=	yes
 WITHOUT_CPU_CFLAGS=	true
+MAKE_JOBS_SAFE=	yes
 
 .include bsd.port.pre.mk
 
@@ -132,7 +133,6 @@
 CONFIGURE_WRKSRC=	${WRKSRC}/config_office
 TCSH?=		/bin/tcsh
 PKGMESSAGE=	${WRKDIR}/pkg-message
-NUMOFPROCESSES?=	1
 
 CONFIGURE_ARGS+=	--with-gnu-cp=${LOCALBASE}/bin/gcp		\
 			--with-gnu-patch=${LOCALBASE}/bin/gpatch	\
@@ -192,8 +192,8 @@
 do-build:
 	@cd ${WRKSRC} ; ./bootstrap
 # PR:84786 #i53289#
-.if (${NUMOFPROCESSES}1)
-	@cd ${WRKSRC} ; ${SETENV} LANG=C LC_ALL=C ${TCSH} -c source ${FREEBSD_ENV_SET} ; setenv TMP ${WRKSRC} ; cd instsetoo_native ; build.pl -P${NUMOFPROCESSES} --all
+.if !defined(DISABLE_MAKE_JOBS)
+	@cd ${WRKSRC} ; ${SETENV} LANG=C LC_ALL=C ${TCSH} -c source ${FREEBSD_ENV_SET} ; setenv TMP ${WRKSRC} ; cd instsetoo_native ; build.pl -P${MAKE_JOBS_NUMBER} --all
 .else
 	@cd ${WRKSRC} ; ${SETENV} LANG=C LC_ALL=C ${TCSH} -c source ${FREEBSD_ENV_SET} ; setenv TMP ${WRKSRC} ; dmake
 .endif
diff -ur /usr/ports/editors/openoffice.org-2-RC/Makefile ports/editors/openoffice.org-2-RC/Makefile
--- /usr/ports/editors/openoffice.org-2-RC/Makefile	2009-01-25 10:45:45.0 +0200
+++ ports/editors/openoffice.org-2-RC/Makefile	2009-05-27 08:41:53.0 +0200
@@ -52,6 +52,7 @@
 USE_PERL5=	yes
 USE_BZIP2=	yes
 WITHOUT_CPU_CFLAGS=	true
+MAKE_JOBS_SAFE=	yes
 
 .include bsd.port.pre.mk
 
@@ -134,7 +135,6 @@
 CONFIGURE_WRKSRC=	${WRKSRC}/config_office
 TCSH?=		/bin/tcsh
 PKGMESSAGE=	${WRKDIR}/pkg-message
-NUMOFPROCESSES?=	1
 
 CONFIGURE_ARGS+=	--with-gnu-cp=${LOCALBASE}/bin/gcp		\
 			--with-gnu-patch=${LOCALBASE}/bin/gpatch	\
@@ -194,8 +194,8 @@
 do-build:
 	@cd ${WRKSRC} ; ./bootstrap
 # PR:84786 #i53289#
-.if (${NUMOFPROCESSES}1)
-	@cd ${WRKSRC} ; ${SETENV} LANG=C LC_ALL=C ${TCSH} -c source ${FREEBSD_ENV_SET} ; setenv TMP ${WRKSRC} ; cd instsetoo_native ; build.pl -P${NUMOFPROCESSES} --all
+.if !defined(DISABLE_MAKE_JOBS)
+	@cd ${WRKSRC} ; ${SETENV} LANG=C LC_ALL=C ${TCSH} -c source ${FREEBSD_ENV_SET} ; setenv TMP ${WRKSRC} ; cd instsetoo_native ; build.pl -P${MAKE_JOBS_NUMBER} --all
 .else
 	@cd ${WRKSRC} ; ${SETENV} LANG=C LC_ALL=C ${TCSH} -c source ${FREEBSD_ENV_SET} ; setenv TMP ${WRKSRC} ; dmake
 .endif
diff -ur /usr/ports/editors/openoffice.org-2-devel/Makefile ports/editors/openoffice.org-2-devel/Makefile
--- /usr/ports/editors/openoffice.org-2-devel/Makefile	2009-01-25 10:45:45.0 +0200
+++ ports/editors/openoffice.org-2-devel/Makefile	2009-05-27 08:46:03.0 +0200
@@ -52,6 +52,7 @@
 USE_PERL5=	yes
 USE_BZIP2=	yes
 WITHOUT_CPU_CFLAGS=	true
+MAKE_JOBS_SAFE=	yes
 
 .include bsd.port.pre.mk
 
@@ 

Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-27 Thread Maho NAKATA
Hi David, I'll go to Canada for attending conference tomorrow.be back on 6/4.
see you
-- Nakata Maho http://accc.riken.jp/maho/ , http://ja.openoffice.org/
   Nakata Maho's PGP public keys: http://accc.riken.jp/maho/maho.pgp.txt


pgpVkDXepD1Ih.pgp
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-26 Thread David Naylor
On Tuesday 26 May 2009 10:48:25 Pav Lucistnik wrote:
 David Naylor píše v út 26. 05. 2009 v 08:19 +0200:
  pav: ${_MAKE_JOBS:C/-j//} won't work with DISABLE_MAKE_JOBS (or
  MAKE_JOBS_UNSAFE) since it needs to always be a positive number, secondly
  it still cannot be used for conditional code (since it is defined in the
  post section, but the whole code could always be moved to the pre
  section).

 I'm hesitant to modify bsd.port.mk for benefit of just four ports.
 Also, I think having MAKE_JOBS_NUMBER set to 1 when the feature is in
 fact disable, is counter-intuitive (because -j1 is very different to no
 -j at all).

I understand, I see the light.  By the way it is two ports requiring the 
below.  

What about the change that exposes MAKE_JOBS_NUMBER when MAKE_JOBS_SAFE or 
FORCE_MAKE_JOBS are defined (to avoid using ${_MAKE_JOBS:C/-j//}, not sure 
what the policy is of ports using *.mk internals).  I think that is a 
reasonable change??? 

 So how about just having

 .if defined(DISABLE_MAKE_JOBS)
 MAKE_JOBS_NUMBER= 1
 .else
+.if !defined(MAKE_JOBS_NUMBER)
 MAKE_JOBS_NUMBER!=echo `${SYSCTL} -n kern.smp.cpus`
+.endif
 .endif

 in ooo makefile?

This will work in OOo2*, the OOo3 will also need a check for DISABLE_MAKE_JOBS 
since they rely on MKAE_JOBS_NUMBER always being set (just the way they do 
things).  

Will fix and send another patch.  


signature.asc
Description: This is a digitally signed message part.


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-25 Thread Pav Lucistnik
David Naylor píše v po 25. 05. 2009 v 10:11 +0200:

   This part looks OK, I wonder if there's any reason t ain't like
   this now; Pav?
   -.if defined(MAKE_JOBS_NUMBER)
   +MAKE_JOBS_NUMBER?=   `${SYSCTL} -n kern.smp.cpus`
_MAKE_JOBS=  -j${MAKE_JOBS_NUMBER}
   -.else
   -_MAKE_JOBS=  -j`${SYSCTL} -n kern.smp.cpus`
   -.endif
 
  Wouldn't that mean an evaluation of the backtick command in every
  make(1) invocation? That would be highly undesirable.
  
   I don't believe that is the case.
  
   Here is what I get with the patch applied (MAKE_JOBS_NUMBER not defined):
   /usr/ports/editors/openoffice.org-3# make -V MAKE_JOBS_NUMBER -V
   _MAKE_JOBS `/sbin/sysctl -n kern.smp.cpus`
   -j`/sbin/sysctl -n kern.smp.cpus`
  
   Wouldn't this indicate that the backtick command is not being evaluated?
 
  Seems correct. But explain again, why you need this change? 
 
 Not all ports use make but are concurrent capable and require different 
 arguments to be passed which is why I needed to expose MAKE_JOBS_NUMBER 
 (since it is just a number) and why _MAKE_JOBS was not an option.  

Ok, how about doing a dirty hack and using ${_MAKE_JOBS:C/-j//} ?
Then we wouldn't have to modify bsd.port.mk ..

-- 
Pav Lucistnik p...@oook.cz
  p...@freebsd.org

 Why do we need a film of Lord of the Rings when we have the book?
Because watching a cg enhanced Legolas fire a flaming arrow
into the heart of a warg is cool?
- a...@asdf.com in rec.games.roguelike.angband


signature.asc
Description: Toto je digitálně	 podepsaná část	 zprávy


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-25 Thread Ion-Mihai Tetcu
On Mon, 25 May 2009 10:03:12 +0200
David Naylor naylor.b.da...@gmail.com wrote:

 On Sunday 24 May 2009 21:37:45 Ion-Mihai Tetcu wrote:
  On Sun, 24 May 2009 10:26:23 +0200
 
  David Naylor naylor.b.da...@gmail.com wrote:
   On Sunday 24 May 2009 00:16:37 Maho NAKATA wrote:
Hi I tested it yesterday,
   
1.
I need
   
 MAKE_JOBS_SAFE=yes
   
in the Makefile.
  
   Yes, you would need that.  I believe that will be default.
  
2. with above patch, ooo2 doesn't launch parallele jobs.
  
   I spotted that problem after submitting the patch, if you
   explicitly set MAKE_JOBS_NUMBER to something it will work.
  
   The problem is that ooo2 does (in effect):
   .if (${MAKE_JOBS_NUMBER}  1)
   # Stuff
   .else
   # Other stuff
   .endif
   and that doesn't work as expected with MAKE_JOBS_NUMBER=`sysctl
   kern.smp.cpus` as the command is not resolved.
 
  w/o patch
  editors/openoffice.org-3openoffice.org-3.1.04:53:27
 
  with patch:
  + MAKE_JOBS_SAFE=   yes
  + MAKE_JOBS_NUMBER= 4
  + MAXPROCESSES?=${MAKE_JOBS_NUMBER}
  + MAXMODULES?=  ${MAKE_JOBS_NUMBER}
 
  editors/openoffice.org-3openoffice.org-3.1.048:51
 
  The build is done in
  /dev/md0 on /usr/local/tinderbox/7-STABLE-FPT-NPD (ufs,
  asynchronous, local, noatime)
 
 Wow, that is quite a speedup.  Is it even possible (4 * 60 + 53)/4 =
 73, and you get 48 (that is 152% scaling efficiency).  This would
 mean a serious performance problem with the ooo3 build script and
 MAX* =1.  
 
 I'll make a patch tonight (+10 hours) that will fix ooo2 in the
 default case. You can test ooo2 with patch and MAKE_JOBS_NUMBER
 preset (not using default value) and MAKE_JOBS_SAFE=yes.

BTW, what about using the same vars for parallel building in all OOo
port?



-- 
IOnut - Un^d^dregistered ;) FreeBSD user
  Intellectual Property is   nowhere near as valuable   as Intellect
FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


signature.asc
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-25 Thread David Naylor
On Monday 25 May 2009 20:01:25 Ion-Mihai Tetcu wrote:
 On Mon, 25 May 2009 10:03:12 +0200

 David Naylor naylor.b.da...@gmail.com wrote:
  On Sunday 24 May 2009 21:37:45 Ion-Mihai Tetcu wrote:
   On Sun, 24 May 2009 10:26:23 +0200
  
   David Naylor naylor.b.da...@gmail.com wrote:
On Sunday 24 May 2009 00:16:37 Maho NAKATA wrote:
 Hi I tested it yesterday,

 1.
 I need

  MAKE_JOBS_SAFE=yes

 in the Makefile.
   
Yes, you would need that.  I believe that will be default.
   
 2. with above patch, ooo2 doesn't launch parallele jobs.
   
I spotted that problem after submitting the patch, if you
explicitly set MAKE_JOBS_NUMBER to something it will work.
   
The problem is that ooo2 does (in effect):
.if (${MAKE_JOBS_NUMBER}  1)
# Stuff
.else
# Other stuff
.endif
and that doesn't work as expected with MAKE_JOBS_NUMBER=`sysctl
kern.smp.cpus` as the command is not resolved.
  
   w/o patch
   editors/openoffice.org-3  openoffice.org-3.1.04:53:27
  
   with patch:
   + MAKE_JOBS_SAFE= yes
   + MAKE_JOBS_NUMBER=   4
   + MAXPROCESSES?=  ${MAKE_JOBS_NUMBER}
   + MAXMODULES?=${MAKE_JOBS_NUMBER}
  
   editors/openoffice.org-3  openoffice.org-3.1.048:51
  
   The build is done in
   /dev/md0 on /usr/local/tinderbox/7-STABLE-FPT-NPD (ufs,
   asynchronous, local, noatime)
 
  Wow, that is quite a speedup.  Is it even possible (4 * 60 + 53)/4 =
  73, and you get 48 (that is 152% scaling efficiency).  This would
  mean a serious performance problem with the ooo3 build script and
  MAX* =1.
 
  I'll make a patch tonight (+10 hours) that will fix ooo2 in the
  default case. You can test ooo2 with patch and MAKE_JOBS_NUMBER
  preset (not using default value) and MAKE_JOBS_SAFE=yes.

 BTW, what about using the same vars for parallel building in all OOo
 port?

Done, the following patch uses MAKE_JOBS_NUMBER for all the variables in OOo.  

It also tries to be efficient when resolving the MAKE_JOBS_NUMBER to a value 
(only done when a port sets USE_MAKE_JOBS, as in the OOo2-RC and OOo2 case).  

This should fix OOo2* builds and support such use cases for other ports...
diff -ru /usr/ports/Mk/bsd.port.mk ports/Mk/bsd.port.mk
--- /usr/ports/Mk/bsd.port.mk	2009-05-23 13:20:58.0 +0200
+++ ports/Mk/bsd.port.mk	2009-05-25 22:08:58.0 +0200
@@ -1361,6 +1361,19 @@
 .include ${PORTSDIR}/Mk/bsd.linux-apps.mk
 .endif

+.if defined(USE_MAKE_JOBS)
+.if defined(MAKE_JOBS_UNSAFE)
+.error USE_MAKE_JOBS requested yet port is marked as MAKE_JOBS_UNSAFE
+.endif
+.if defined(DISABLE_MAKE_JOBS)
+MAKE_JOBS_NUMBER=	1
+.elif defined(FORCE_MAKE_JOBS) || defined(MAKE_JOBS_SAFE)
+.if !defined(MAKE_JOBS_NUMBER)
+MAKE_JOBS_NUMBER!=	${SYSCTL} -n kern.smp.cpus
+.endif
+.endif
+.endif
+
 .if defined(X_WINDOW_SYSTEM)  ${X_WINDOW_SYSTEM:L} != xorg
 IGNORE=		cannot be installed: bad X_WINDOW_SYSTEM setting; valid value is 'xorg'
 .endif
@@ -2182,15 +2195,13 @@

 # Multiple make jobs support
 .if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE)
+MAKE_JOBS_NUMBER=	1
 _MAKE_JOBS=		#
 .else
 .if defined(MAKE_JOBS_SAFE) || defined(FORCE_MAKE_JOBS)
-.if defined(MAKE_JOBS_NUMBER)
+MAKE_JOBS_NUMBER?=	`${SYSCTL} -n kern.smp.cpus`
 _MAKE_JOBS=		-j${MAKE_JOBS_NUMBER}
-.else
-_MAKE_JOBS=		-j`${SYSCTL} -n kern.smp.cpus`
-.endif
-.if defined(FORCE_MAKE_JOBS)
+.if defined(FORCE_MAKE_JOBS)  !defined(MAKE_JOBS_SAFE)
 BUILD_FAIL_MESSAGE+=	You have chosen to use multiple make jobs (parallelization) for all ports.  This port was not tested for this setting.  Please remove FORCE_MAKE_JOBS and retry the build before reporting the failure to the maintainer.
 .endif
 .endif
diff -ru /usr/ports/editors/openoffice.org-2/Makefile ports/editors/openoffice.org-2/Makefile
--- /usr/ports/editors/openoffice.org-2/Makefile	2009-01-25 10:45:45.0 +0200
+++ ports/editors/openoffice.org-2/Makefile	2009-05-25 22:10:21.0 +0200
@@ -48,9 +48,11 @@
 USE_XORG=	x11 ice xaw xau xext xrender xrandr \
 		xi xt xcursor xdamage xcomposite xfixes
 USE_GMAKE=	yes
+USE_MAKE_JOBS=	yes
 USE_PERL5=	yes
 USE_BZIP2=	yes
 WITHOUT_CPU_CFLAGS=	true
+MAKE_JOBS_SAFE=	yes

 .include bsd.port.pre.mk

@@ -132,7 +134,6 @@
 CONFIGURE_WRKSRC=	${WRKSRC}/config_office
 TCSH?=		/bin/tcsh
 PKGMESSAGE=	${WRKDIR}/pkg-message
-NUMOFPROCESSES?=	1

 CONFIGURE_ARGS+=	--with-gnu-cp=${LOCALBASE}/bin/gcp		\
 			--with-gnu-patch=${LOCALBASE}/bin/gpatch	\
@@ -192,8 +193,8 @@
 do-build:
 	@cd ${WRKSRC} ; ./bootstrap
 # PR:84786 #i53289#
-.if (${NUMOFPROCESSES}1)
-	@cd ${WRKSRC} ; ${SETENV} LANG=C LC_ALL=C ${TCSH} -c source ${FREEBSD_ENV_SET} ; setenv TMP ${WRKSRC} ; cd instsetoo_native ; build.pl -P${NUMOFPROCESSES} --all
+.if (${MAKE_JOBS_NUMBER}1)
+	@cd ${WRKSRC} ; ${SETENV} LANG=C LC_ALL=C ${TCSH} -c source ${FREEBSD_ENV_SET} ; setenv TMP ${WRKSRC} ; cd instsetoo_native ; build.pl -P${MAKE_JOBS_NUMBER} --all
 .else
 	@cd ${WRKSRC} ; ${SETENV} LANG=C LC_ALL=C ${TCSH} -c source 

Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-25 Thread Maho NAKATA
Hi David,

Thanks kudos for tough works and discussions!

David, is this the final patch which I should test?
Best,

From: David Naylor naylor.b.da...@gmail.com
Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
Date: Mon, 25 May 2009 22:47:29 +0200

 On Monday 25 May 2009 20:01:25 Ion-Mihai Tetcu wrote:
 On Mon, 25 May 2009 10:03:12 +0200

 David Naylor naylor.b.da...@gmail.com wrote:
  On Sunday 24 May 2009 21:37:45 Ion-Mihai Tetcu wrote:
   On Sun, 24 May 2009 10:26:23 +0200
  
   David Naylor naylor.b.da...@gmail.com wrote:
On Sunday 24 May 2009 00:16:37 Maho NAKATA wrote:
 Hi I tested it yesterday,

 1.
 I need

  MAKE_JOBS_SAFE=yes

 in the Makefile.
   
Yes, you would need that.  I believe that will be default.
   
 2. with above patch, ooo2 doesn't launch parallele jobs.
   
I spotted that problem after submitting the patch, if you
explicitly set MAKE_JOBS_NUMBER to something it will work.
   
The problem is that ooo2 does (in effect):
.if (${MAKE_JOBS_NUMBER}  1)
# Stuff
.else
# Other stuff
.endif
and that doesn't work as expected with MAKE_JOBS_NUMBER=`sysctl
kern.smp.cpus` as the command is not resolved.
  
   w/o patch
   editors/openoffice.org-3 openoffice.org-3.1.04:53:27
  
   with patch:
   + MAKE_JOBS_SAFE=yes
   + MAKE_JOBS_NUMBER=  4
   + MAXPROCESSES?= ${MAKE_JOBS_NUMBER}
   + MAXMODULES?=   ${MAKE_JOBS_NUMBER}
  
   editors/openoffice.org-3 openoffice.org-3.1.048:51
  
   The build is done in
   /dev/md0 on /usr/local/tinderbox/7-STABLE-FPT-NPD (ufs,
   asynchronous, local, noatime)
 
  Wow, that is quite a speedup.  Is it even possible (4 * 60 + 53)/4 =
  73, and you get 48 (that is 152% scaling efficiency).  This would
  mean a serious performance problem with the ooo3 build script and
  MAX* =1.
 
  I'll make a patch tonight (+10 hours) that will fix ooo2 in the
  default case. You can test ooo2 with patch and MAKE_JOBS_NUMBER
  preset (not using default value) and MAKE_JOBS_SAFE=yes.

 BTW, what about using the same vars for parallel building in all OOo
 port?

 Done, the following patch uses MAKE_JOBS_NUMBER for all the variables in OOo.

 It also tries to be efficient when resolving the MAKE_JOBS_NUMBER to a value
 (only done when a port sets USE_MAKE_JOBS, as in the OOo2-RC and OOo2 case).

 This should fix OOo2* builds and support such use cases for other ports...


pgpgPOCyCj044.pgp
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-24 Thread David Naylor
On Sunday 24 May 2009 00:16:37 Maho NAKATA wrote:
 Hi I tested it yesterday,

 1.
 I need

  MAKE_JOBS_SAFE=yes

 in the Makefile.

Yes, you would need that.  I believe that will be default.  

 2. with above patch, ooo2 doesn't launch parallele jobs.

I spotted that problem after submitting the patch, if you explicitly set 
MAKE_JOBS_NUMBER to something it will work. 

The problem is that ooo2 does (in effect):
.if (${MAKE_JOBS_NUMBER}  1)
# Stuff
.else
# Other stuff
.endif
and that doesn't work as expected with MAKE_JOBS_NUMBER=`sysctl kern.smp.cpus` 
as the command is not resolved.  

 3. ooo3, 3-rc, 3-devel are okay with patch 1.

Good to hear.  


signature.asc
Description: This is a digitally signed message part.


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-24 Thread Ion-Mihai Tetcu
On Sun, 24 May 2009 10:26:23 +0200
David Naylor naylor.b.da...@gmail.com wrote:

 On Sunday 24 May 2009 00:16:37 Maho NAKATA wrote:
  Hi I tested it yesterday,
 
  1.
  I need
 
   MAKE_JOBS_SAFE=yes
 
  in the Makefile.
 
 Yes, you would need that.  I believe that will be default.  
 
  2. with above patch, ooo2 doesn't launch parallele jobs.
 
 I spotted that problem after submitting the patch, if you explicitly
 set MAKE_JOBS_NUMBER to something it will work. 
 
 The problem is that ooo2 does (in effect):
 .if (${MAKE_JOBS_NUMBER}  1)
 # Stuff
 .else
 # Other stuff
 .endif
 and that doesn't work as expected with MAKE_JOBS_NUMBER=`sysctl
 kern.smp.cpus` as the command is not resolved.  

Adding MAKE_JOBS_NUMBER!=`sysctl kern.smp.cpus` in the port Makefile
should help.


-- 
IOnut - Un^d^dregistered ;) FreeBSD user
  Intellectual Property is   nowhere near as valuable   as Intellect
FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


signature.asc
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-24 Thread Pav Lucistnik
Ion-Mihai Tetcu píše v so 23. 05. 2009 v 13:51 +0300:

   - MAKE_JOBS_NUMBER defaults (but user defined) to number of cores
 
 This part looks OK, I wonder if there's any reason t ain't like this
 now; Pav?
 -.if defined(MAKE_JOBS_NUMBER)
 +MAKE_JOBS_NUMBER?=   `${SYSCTL} -n kern.smp.cpus`
  _MAKE_JOBS=  -j${MAKE_JOBS_NUMBER}
 -.else
 -_MAKE_JOBS=  -j`${SYSCTL} -n kern.smp.cpus`
 -.endif

Wouldn't that mean an evaluation of the backtick command in every
make(1) invocation? That would be highly undesirable.

-- 
Pav Lucistnik p...@oook.cz
  p...@freebsd.org
See file. Click file. Get file.


signature.asc
Description: Toto je digitálně	 podepsaná část	 zprávy


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-24 Thread Ion-Mihai Tetcu
On Sun, 24 May 2009 16:10:23 +0200
Pav Lucistnik p...@freebsd.org wrote:

 Ion-Mihai Tetcu píše v so 23. 05. 2009 v 13:51 +0300:
 
- MAKE_JOBS_NUMBER defaults (but user defined) to number of
cores
  
  This part looks OK, I wonder if there's any reason t ain't like this
  now; Pav?
  -.if defined(MAKE_JOBS_NUMBER)
  +MAKE_JOBS_NUMBER?= `${SYSCTL} -n kern.smp.cpus`
   _MAKE_JOBS=-j${MAKE_JOBS_NUMBER}
  -.else
  -_MAKE_JOBS=-j`${SYSCTL} -n kern.smp.cpus`
  -.endif
 
 Wouldn't that mean an evaluation of the backtick command in every
 make(1) invocation? That would be highly undesirable.

Umm, why? it shouldn't be evaluated if MAKE_JOBS_NUMBER is defined, no?
Am I missing some make magic here?

-- 
IOnut - Un^d^dregistered ;) FreeBSD user
  Intellectual Property is   nowhere near as valuable   as Intellect
FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


signature.asc
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-24 Thread Pav Lucistnik
Ion-Mihai Tetcu píše v ne 24. 05. 2009 v 19:01 +0300:
 On Sun, 24 May 2009 16:10:23 +0200
 Pav Lucistnik p...@freebsd.org wrote:
 
  Ion-Mihai Tetcu píše v so 23. 05. 2009 v 13:51 +0300:
  
 - MAKE_JOBS_NUMBER defaults (but user defined) to number of
 cores
   
   This part looks OK, I wonder if there's any reason t ain't like this
   now; Pav?
   -.if defined(MAKE_JOBS_NUMBER)
   +MAKE_JOBS_NUMBER?=   `${SYSCTL} -n kern.smp.cpus`
_MAKE_JOBS=  -j${MAKE_JOBS_NUMBER}
   -.else
   -_MAKE_JOBS=  -j`${SYSCTL} -n kern.smp.cpus`
   -.endif
  
  Wouldn't that mean an evaluation of the backtick command in every
  make(1) invocation? That would be highly undesirable.
 
 Umm, why? it shouldn't be evaluated if MAKE_JOBS_NUMBER is defined, no?
 Am I missing some make magic here?

But for 99.99% of the users, MAKE_JOBS_NUMBER is not defined.

-- 
Pav Lucistnik p...@oook.cz
  p...@freebsd.org
... the obese drugged penguin used by Linux. -- Scott Long


signature.asc
Description: Toto je digitálně	 podepsaná část	 zprávy


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-24 Thread David Naylor
On Sunday 24 May 2009 18:27:57 Pav Lucistnik wrote:
 Ion-Mihai Tetcu píše v ne 24. 05. 2009 v 19:01 +0300:
  On Sun, 24 May 2009 16:10:23 +0200
 
  Pav Lucistnik p...@freebsd.org wrote:
   Ion-Mihai Tetcu píše v so 23. 05. 2009 v 13:51 +0300:
  - MAKE_JOBS_NUMBER defaults (but user defined) to number of
  cores
   
This part looks OK, I wonder if there's any reason t ain't like this
now; Pav?
-.if defined(MAKE_JOBS_NUMBER)
+MAKE_JOBS_NUMBER?= `${SYSCTL} -n kern.smp.cpus`
 _MAKE_JOBS=-j${MAKE_JOBS_NUMBER}
-.else
-_MAKE_JOBS=-j`${SYSCTL} -n kern.smp.cpus`
-.endif
  
   Wouldn't that mean an evaluation of the backtick command in every
   make(1) invocation? That would be highly undesirable.

I don't believe that is the case.  

Here is what I get with the patch applied (MAKE_JOBS_NUMBER not defined):
/usr/ports/editors/openoffice.org-3# make -V MAKE_JOBS_NUMBER -V _MAKE_JOBS
`/sbin/sysctl -n kern.smp.cpus`
-j`/sbin/sysctl -n kern.smp.cpus`

Wouldn't this indicate that the backtick command is not being evaluated?

The following does, however, make MAKE_JOBS_NUMBER resolve, and fixes ooo2 
with parallel build.  

# Multiple make jobs support
.if defined(DISABLE_MAKE_JOBS) || defined(MAKE_JOBS_UNSAFE)
MAKE_JOBS_NUMBER=   1
_MAKE_JOBS= #
.else
.if defined(MAKE_JOBS_SAFE) || defined(FORCE_MAKE_JOBS)
.if !defined(MAKE_JOBS_NUMBER)
MAKE_JOBS_NUMBER!=  ${SYSCTL} -n kern.smp.cpus
.endif
_MAKE_JOBS= -j${MAKE_JOBS_NUMBER}
[etc]

and then I get:
/usr/ports/editors/openoffice.org-3# make -V MAKE_JOBS_NUMBER -V _MAKE_JOBS
4
-j4

I agree that having sysctl being called every time is not good.  I don't think 
it is unavoidable in the ooo2 case (but that is only a few ports).  


signature.asc
Description: This is a digitally signed message part.


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-24 Thread Ion-Mihai Tetcu
On Sun, 24 May 2009 10:26:23 +0200
David Naylor naylor.b.da...@gmail.com wrote:

 On Sunday 24 May 2009 00:16:37 Maho NAKATA wrote:
  Hi I tested it yesterday,
 
  1.
  I need
 
   MAKE_JOBS_SAFE=yes
 
  in the Makefile.
 
 Yes, you would need that.  I believe that will be default.  
 
  2. with above patch, ooo2 doesn't launch parallele jobs.
 
 I spotted that problem after submitting the patch, if you explicitly
 set MAKE_JOBS_NUMBER to something it will work. 
 
 The problem is that ooo2 does (in effect):
 .if (${MAKE_JOBS_NUMBER}  1)
 # Stuff
 .else
 # Other stuff
 .endif
 and that doesn't work as expected with MAKE_JOBS_NUMBER=`sysctl
 kern.smp.cpus` as the command is not resolved.  

w/o patch
editors/openoffice.org-3openoffice.org-3.1.04:53:27

with patch:
+ MAKE_JOBS_SAFE=   yes
+ MAKE_JOBS_NUMBER= 4
+ MAXPROCESSES?=${MAKE_JOBS_NUMBER}
+ MAXMODULES?=  ${MAKE_JOBS_NUMBER}

editors/openoffice.org-3openoffice.org-3.1.048:51

The build is done in 
/dev/md0 on /usr/local/tinderbox/7-STABLE-FPT-NPD (ufs, asynchronous, local, 
noatime)


-- 
IOnut - Un^d^dregistered ;) FreeBSD user
  Intellectual Property is   nowhere near as valuable   as Intellect
FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


signature.asc
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-23 Thread Maho NAKATA
Hi David

Many many thanks for your patch. I'll test it very soon.

Just one comment
 I believe openoffice-2* can me marked as SAFE while openoffice-3* should not
 be marked at all (since it sometimes works..., very well for me :-).
you can mark as SAFE for all of our ports. If it's broken,
its OOo issue. We should identify if dependencies are missing.
-devel ports can be unsafe but 3, 3-RC 2, 2-RC must be safe.

Please wait a few days to say ok.

Best,

From: David Naylor naylor.b.da...@gmail.com
Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
Date: Sat, 23 May 2009 11:01:56 +0200

 On Friday 22 May 2009 15:41:38 Ion-Mihai Tetcu wrote:
 On Fri, 22 May 2009 19:53:50 +0900 (JST)

 Maho NAKATA cha...@mac.com wrote:
  In massive parallel build, OOo can be broken. We explicitly
  fix them otherwise broken. I just test with MAXJOB = 4  or something
  like that.
 
I had it complain about perl (or
   something) needing to be recompiled but that was because I
   interrupted the build process.  It has always completed for me when
   using MAX* from the start.
 
  me too. but - note it just works for you.
 
   I can make the patch, only thing is bsd.port.mk will need to be
   patched (simple enough though).

 I can run a few test builds on QAT and maybe Phillip can do the same on
 his tindy. Just drop us the patch ;-)
 Even if it only works with MAXJOB = 2, we mark it as such and the build
 will be faster.

 Please see attached for the patch.  The changes to bsd.port.mk:
 - MAKE_JOBS_NUMBER always defined
 - MAKE_JOBS_NUMBER forced to 1 if UNSAFE of DISABLE
 - MAKE_JOBS_NUMBER defaults (but user defined) to number of cores

 I've then used MAKE_JOBS_NUMBER to set MAXPROCESSES, MAXMODULES and
 NUMOFPROCESSES for openoffice-* (not including 1.*).

 I believe openoffice-2* can me marked as SAFE while openoffice-3* should not
 be marked at all (since it sometimes works..., very well for me :-).

 This patch just makes openoffice-* behave like other ports in regards to
 parallel builds and the usual MAKE_JOBS variables now works as expected.

 Happy testing,

 David


pgpq2xMEndG96.pgp
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-23 Thread Ion-Mihai Tetcu
On Sat, 23 May 2009 18:24:26 +0900 (JST)
Maho NAKATA cha...@mac.com wrote:

 Hi David
 
 Many many thanks for your patch. I'll test it very soon.
 
 Just one comment
  I believe openoffice-2* can me marked as SAFE while openoffice-3*
  should not be marked at all (since it sometimes works..., very well
  for me :-).
 you can mark as SAFE for all of our ports. 

For testing, right?

 If it's broken, its OOo issue.

Obviously.

 We should identify if dependencies are missing. -devel ports can be
 unsafe but 3, 3-RC 2, 2-RC must be safe.
 
 Please wait a few days to say ok.

I'll give them a try during this weekend.

 From: David Naylor naylor.b.da...@gmail.com
 Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
 Date: Sat, 23 May 2009 11:01:56 +0200

 [ .. ]

  Please see attached for the patch.  The changes to bsd.port.mk:
  - MAKE_JOBS_NUMBER always defined
  - MAKE_JOBS_NUMBER forced to 1 if UNSAFE of DISABLE

AFAIR there are ports that compile OK w/o MAKE_JOBS_SAFE but fail with
MAKE_JOBS_NUMBER=1

  - MAKE_JOBS_NUMBER defaults (but user defined) to number of cores

This part looks OK, I wonder if there's any reason t ain't like this
now; Pav?
-.if defined(MAKE_JOBS_NUMBER)
+MAKE_JOBS_NUMBER?= `${SYSCTL} -n kern.smp.cpus`
 _MAKE_JOBS=-j${MAKE_JOBS_NUMBER}
-.else
-_MAKE_JOBS=-j`${SYSCTL} -n kern.smp.cpus`
-.endif

I believe pav@ didn't put the '  !defined(MAKE_JOBS_SAFE)' part
intentionally until we get to test all our ports.
-.if defined(FORCE_MAKE_JOBS)
+.if defined(FORCE_MAKE_JOBS)  !defined(MAKE_JOBS_SAFE)
 BUILD_FAIL_MESSAGE+=   You have chosen to use multiple make jobs 
(parallelization) for all ports.  This port was not tested for this setting.  
Please remove FORCE_MAKE_JOBS and retry the build before reporting the failure 
to the maintainer.

  I've then used MAKE_JOBS_NUMBER to set MAXPROCESSES, MAXMODULES and
  NUMOFPROCESSES for openoffice-* (not including 1.*).
 
  I believe openoffice-2* can me marked as SAFE while openoffice-3*
  should not be marked at all (since it sometimes works..., very well
  for me :-).
 
  This patch just makes openoffice-* behave like other ports in
  regards to parallel builds and the usual MAKE_JOBS variables now
  works as expected.

Nice, thanks.

-- 
IOnut - Un^d^dregistered ;) FreeBSD user
  Intellectual Property is   nowhere near as valuable   as Intellect
FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


signature.asc
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-23 Thread David Naylor
On Saturday 23 May 2009 12:51:33 Ion-Mihai Tetcu wrote:
 On Sat, 23 May 2009 18:24:26 +0900 (JST)
 Maho NAKATA cha...@mac.com wrote:
   Please see attached for the patch.  The changes to bsd.port.mk:
   - MAKE_JOBS_NUMBER always defined
   - MAKE_JOBS_NUMBER forced to 1 if UNSAFE of DISABLE

 AFAIR there are ports that compile OK w/o MAKE_JOBS_SAFE but fail with
 MAKE_JOBS_NUMBER=1

That is quite a problem.  And this reveals a problem with openoffice-2*, it 
doesn't work since it does (in-effect):

.if (${MAKE_JOBS_NUMBER}  1)

which will not work for MAKE_JOBS_NUMBER=`${SYSCTL} -n kern.smp.cpus`.  Is 
there anyway for MAKE_JOBS_NUMBER to get a resolved value (I think expanding 
make to expose the number of cores on the system [rather radical, I know]).  
If MAKE_JOBS_NUMBER can be 'fixed' then the solution is straight forward:

.if (${MAKE_JOBS_NUMBER}  1)
# Use concurrent build
.else
# Use standard build
.endif

   - MAKE_JOBS_NUMBER defaults (but user defined) to number of cores

 This part looks OK, I wonder if there's any reason t ain't like this
 now; Pav?
 -.if defined(MAKE_JOBS_NUMBER)
 +MAKE_JOBS_NUMBER?=   `${SYSCTL} -n kern.smp.cpus`
  _MAKE_JOBS=  -j${MAKE_JOBS_NUMBER}
 -.else
 -_MAKE_JOBS=  -j`${SYSCTL} -n kern.smp.cpus`
 -.endif

 I believe pav@ didn't put the '  !defined(MAKE_JOBS_SAFE)' part
 intentionally until we get to test all our ports.
 -.if defined(FORCE_MAKE_JOBS)
 +.if defined(FORCE_MAKE_JOBS)  !defined(MAKE_JOBS_SAFE)
  BUILD_FAIL_MESSAGE+= You have chosen to use multiple make jobs
 (parallelization) for all ports.  This port was not tested for this
 setting.  Please remove FORCE_MAKE_JOBS and retry the build before
 reporting the failure to the maintainer.

Sorry but I don't see how this would change anything.  The message will only 
get displayed if the port fails AND -DFORCE_MAKE_JOBS, which is the less 
likely scenario.  

I only changed it because when testing the command output with `make build -n` 
the offset changed with -DFORCE_MAKE_JOBS on a safe port.  I just found it 
annoying... 

   I've then used MAKE_JOBS_NUMBER to set MAXPROCESSES, MAXMODULES and
   NUMOFPROCESSES for openoffice-* (not including 1.*).
  
   I believe openoffice-2* can me marked as SAFE while openoffice-3*
   should not be marked at all (since it sometimes works..., very well
   for me :-).
  
   This patch just makes openoffice-* behave like other ports in
   regards to parallel builds and the usual MAKE_JOBS variables now
   works as expected.

 Nice, thanks.




signature.asc
Description: This is a digitally signed message part.


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-23 Thread Maho NAKATA
Hi I tested it yesterday,

1.
I need
 MAKE_JOBS_SAFE=yes
in the Makefile.

2. with above patch, ooo2 doesn't launch parallele jobs.
3. ooo3, 3-rc, 3-devel are okay with patch 1.

thanks
-- Nakata Maho http://accc.riken.jp/maho/ , http://ja.openoffice.org/
   Nakata Maho's PGP public keys: http://accc.riken.jp/maho/maho.pgp.txt


pgpLp4gHHSs1u.pgp
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-22 Thread David Naylor
On Friday 22 May 2009 07:11:19 Maho NAKATA wrote:
 Dear,

 I appriciate David or Ion-Mihai make a patch for that.
 just seetting MAXMODULE=4 and/or MAXPROCESSES=4 or something like that.

 But note that sometimes it's broken :-( by missing dependencey.

What do you mean by missing dependency?  I had it complain about perl (or 
something) needing to be recompiled but that was because I interrupted the 
build process.  It has always completed for me when using MAX* from the 
start.  

I can make the patch, only thing is bsd.port.mk will need to be patched 
(simple enough though).  

 From: Ion-Mihai Tetcu ite...@freebsd.org
 Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
 Date: Fri, 22 May 2009 08:03:42 +0300

  On Thu, 21 May 2009 12:05:22 +0200
 
  David Naylor naylor.b.da...@gmail.com wrote:
  P.P.S. editors/openoffice-3 does not obey MAKE_JOBS, it requires
  MAXMODULES and MAXPROCESSES set (should I file a PR?).
 
  Anything reducing OOo build time would be great :-)
 
  --
  IOnut - Un^d^dregistered ;) FreeBSD user
Intellectual Property is   nowhere near as valuable   as Intellect
  FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B




signature.asc
Description: This is a digitally signed message part.


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-22 Thread Maho NAKATA
Hi David,

From: David Naylor naylor.b.da...@gmail.com
Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
Date: Fri, 22 May 2009 12:24:30 +0200

 On Friday 22 May 2009 07:11:19 Maho NAKATA wrote:
 Dear,

 I appriciate David or Ion-Mihai make a patch for that.
 just seetting MAXMODULE=4 and/or MAXPROCESSES=4 or something like that.

 But note that sometimes it's broken :-( by missing dependencey.

 What do you mean by missing dependency?
see
http://www.openoffice.org/issues/show_bug.cgi?id=51745
http://www.openoffice.org/issues/show_bug.cgi?id=51755
...
...
...
...
In massive parallel build, OOo can be broken. We explicitly
fix them otherwise broken. I just test with MAXJOB = 4  or something
like that.

  I had it complain about perl (or
 something) needing to be recompiled but that was because I interrupted the
 build process.  It has always completed for me when using MAX* from the
 start.

me too. but - note it just works for you.

 I can make the patch, only thing is bsd.port.mk will need to be patched
 (simple enough though).

Thank you.

 From: Ion-Mihai Tetcu ite...@freebsd.org
 Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
 Date: Fri, 22 May 2009 08:03:42 +0300

  On Thu, 21 May 2009 12:05:22 +0200
 
  David Naylor naylor.b.da...@gmail.com wrote:
  P.P.S. editors/openoffice-3 does not obey MAKE_JOBS, it requires
  MAXMODULES and MAXPROCESSES set (should I file a PR?).
 
  Anything reducing OOo build time would be great :-)
 
  --
  IOnut - Un^d^dregistered ;) FreeBSD user
Intellectual Property is   nowhere near as valuable   as Intellect
  FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B




pgpHUkE8LIwdi.pgp
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-22 Thread Ion-Mihai Tetcu
On Fri, 22 May 2009 19:53:50 +0900 (JST)
Maho NAKATA cha...@mac.com wrote:

 In massive parallel build, OOo can be broken. We explicitly
 fix them otherwise broken. I just test with MAXJOB = 4  or something
 like that.
 
   I had it complain about perl (or
  something) needing to be recompiled but that was because I
  interrupted the build process.  It has always completed for me when
  using MAX* from the start.  
 
 me too. but - note it just works for you.
 
  I can make the patch, only thing is bsd.port.mk will need to be
  patched (simple enough though).  

I can run a few test builds on QAT and maybe Phillip can do the same on
his tindy. Just drop us the patch ;-)
Even if it only works with MAXJOB = 2, we mark it as such and the build
will be faster.

-- 
IOnut - Un^d^dregistered ;) FreeBSD user
  Intellectual Property is   nowhere near as valuable   as Intellect
FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


signature.asc
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-22 Thread Philip M. Gollucci
Ion-Mihai Tetcu wrote:
 I can run a few test builds on QAT and maybe Phillip can do the same on
 his tindy. Just drop us the patch ;-)
 Even if it only works with MAXJOB = 2, we mark it as such and the build
 will be faster.
LOL. Do it once and I get volunteered.

Too funny. Sure I'm up for some patches, I make no gaurantees my TBs
won't be doing other things at the same time though.

-- 

Philip M. Gollucci (phi...@ridecharge.com)
did: 703.579.6947, o: 703.549.2050x206
Senior System Admin - RideCharge Inc.
http://ridecharge.com
1024D/DB9B8C1C B90B FBC3 A3A1 C71A 8E70  3F8C 75B8 8FFB DB9B 8C1C

Work like you don't need the money,
love like you'll never get hurt,
and dance like nobody's watching.
___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


MAKE_JOBS_UNSAFE (some more ports)

2009-05-21 Thread David Naylor
Hi,

The following ports failed to build on my system (with a quad core) and 
FORCE_MAKE_JOBS set.  They did success to build once I added 
MAKE_JOBS_UNSAFE=yes to their Makefile's.  

devel/nasm
graphics/libart_lgpl
lang/ocaml
multimedia/mplayer
multimedia/smplayer
security/nss

Is there any effort to mark ports as MAKE_JOBS_SAFE: is it desired for ports 
that are successful with FORCE_MAKE_JOBS to be reported?

Regards

David

P.S. I'm not on the list
P.P.S. editors/openoffice-3 does not obey MAKE_JOBS, it requires MAXMODULES 
and MAXPROCESSES set (should I file a PR?).


signature.asc
Description: This is a digitally signed message part.


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-21 Thread Pav Lucistnik
On Thu, 21 May 2009 12:05:22 +0200, David Naylor wrote

 The following ports failed to build on my system (with a quad core)
  and FORCE_MAKE_JOBS set.  They did success to build once I added 
 MAKE_JOBS_UNSAFE=yes to their Makefile's.

Marked in CVS, thank you!

 Is there any effort to mark ports as MAKE_JOBS_SAFE: is it desired 
 for ports that are successful with FORCE_MAKE_JOBS to be reported?

Yes, I believe they should be reported.


--
Pav Lucistnik p...@oook.cz
  p...@freebsd.org

___
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to freebsd-ports-unsubscr...@freebsd.org


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-21 Thread Ion-Mihai Tetcu
On Thu, 21 May 2009 12:05:22 +0200
David Naylor naylor.b.da...@gmail.com wrote:

 P.P.S. editors/openoffice-3 does not obey MAKE_JOBS, it requires
 MAXMODULES and MAXPROCESSES set (should I file a PR?).

Anything reducing OOo build time would be great :-)

-- 
IOnut - Un^d^dregistered ;) FreeBSD user
  Intellectual Property is   nowhere near as valuable   as Intellect
FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


signature.asc
Description: PGP signature


Re: MAKE_JOBS_UNSAFE (some more ports)

2009-05-21 Thread Maho NAKATA
Dear,

I appriciate David or Ion-Mihai make a patch for that.
just seetting MAXMODULE=4 and/or MAXPROCESSES=4 or something like that.

But note that sometimes it's broken :-( by missing dependencey.

From: Ion-Mihai Tetcu ite...@freebsd.org
Subject: Re: MAKE_JOBS_UNSAFE (some more ports)
Date: Fri, 22 May 2009 08:03:42 +0300

 On Thu, 21 May 2009 12:05:22 +0200
 David Naylor naylor.b.da...@gmail.com wrote:

 P.P.S. editors/openoffice-3 does not obey MAKE_JOBS, it requires
 MAXMODULES and MAXPROCESSES set (should I file a PR?).

 Anything reducing OOo build time would be great :-)

 --
 IOnut - Un^d^dregistered ;) FreeBSD user
   Intellectual Property is   nowhere near as valuable   as Intellect
 FreeBSD committer - ite...@freebsd.org, PGP Key ID 057E9F8B493A297B


pgp1hsNptFU86.pgp
Description: PGP signature