Apache OpenOffice (AOO) Bugzilla – Issue 15915
SMP build of helpcontent
Last modified: 2003-06-27 12:58:11 UTC
Hi, I'm not able to build helpcontent with MAXPROCESS > 1: pavel@oo:~/BuildDir/ooo_11rc_src/helpcontent> export MAXPROCESS=4; build -from helpcontent ... adding: swriter.idx/OFFSETS (deflated 6%) adding: swriter.idx/POSITIONS (deflated 55%) adding: swriter.idx/DOCS (deflated 9%) adding: swriter.idx/DOCS.TAB (deflated 22%) adding: swriter.idx/EDGE (deflated 99%) adding: swriter.idx/LINKNAMES (deflated 33%) adding: swriter.idx/OFFSETS (deflated 6%) adding: swriter.idx/POSITIONS (deflated 1%) adding: swriter.idx/SCHEMA (deflated 10%) (deflated 1%) adding: swriter.idx/SCHEMA (deflated 10%) cp: cannot stat `/tmp/mkcjet9A.zip': No such file or directory dmake: Error code 1, while making '../../unxlngi4.pro/bin/swriter43.zip' ---* TG_SLO.MK *--- ERROR: Error 65280 occurred while making /mnt/hdc2/pavel/BuildDir/ooo_11rc_src/helpcontent/unx/swriter pavel@oo:~/BuildDir/ooo_11rc_src/helpcontent> With MAXPROCESS=1 it is OK.
mh->hjs: just another parallel build issue ?
couldn't reproduce when just building "helpcontent" with "-Pn". also "MAXPROCESS" just limits the maximal number of processes but does not trigger a multiprocess build. i might need some more hints :-)
According to man dmake, MAXPROCESS limits the maximum number of parall processes running under dmake. So yes, I think MAXPROCESS>1 on SMP machine triggers SMP build :-) At least on Linux where you are not able to tell the scheduler to leave all child processes of dmake on one processor. Here are other info: - 11rc as of current CVS - --with-lang=CZECH,SLOVAK,ENUS pavel@oo:~/BuildDir/ooo_11rc_src/helpcontent> set|grep RES_ RES_CZECH=TRUE RES_ENUS=TRUE RES_SLOVAK=TRUE - when only one RES_ is set, the build is OK and will finish without problems even with -P4 -> it seems to me that the helpcontent is not ready to build more that one language in parallel Because we have our own helpcontent, we have this: pavel@oo:~/BuildDir/ooo_11rc_src/helpcontent/unx/swriter> ls -ald czech english_us slovak/ drwxr-xr-x 4 pavel users 4096 Jun 24 12:00 czech drwxr-xr-x 4 pavel users 4096 May 12 17:28 english_us drwxr-xr-x 4 pavel users 4096 Jun 24 12:00 slovak/ You can simulate it via: cd helpcontent/unx for i in common s* do cp -r $i/english_us $i/czech cp -r $i/english_us $i/slovak done Then you should be able to reproduce it. Right?
more than one language to pack does the trick. try to apply the attached patch to fix the problem.
Created attachment 7105 [details] fix collisions of temporary files
After applying this patch, it builds with MAXPROCESS=4 without problems. Thank you! I hope to get under one hour with the build with ccache :-) Could you please commit it to 11rc?
It is not that easy :-( After applying your patch, sandbox project could not be finished, because it crated sandbox/.zip (yes, slash dot zip) instead of sandbox.zip somewhere under unxlngi4/....
Created attachment 7110 [details] workaround a strange "eat up all previous chars" bug in dmake
the new inserted expression expanded to "" if the zip wasn't language dependent. exactly it expanded to less than nothing as it ate up all previous character in this token which means path and basename :-( the new patch avoids it to expand to empty.
reviewed
hi pavel! could you please confirm that the second patch fixes your problem in "helpcontent" and keeps "sandbox" buildable?
Yes, both projects are buildable now. Even with MAXPROCESS > 4. Please commit to 11rc too. Thanks!
commited to ooo11rc
Thanks!