Issue 15915 - SMP build of helpcontent
Summary: SMP build of helpcontent
Status: CLOSED FIXED
Alias: None
Product: Build Tools
Classification: Code
Component: code (show other issues)
Version: OOo 1.1 Beta2
Hardware: PC Linux, all
: P4 Trivial (vote)
Target Milestone: OOo 1.1 RC
Assignee: hjs
QA Contact: issues@tools
URL:
Keywords:
Depends on:
Blocks: 9443
  Show dependency tree
 
Reported: 2003-06-22 17:11 UTC by pavel
Modified: 2003-06-27 12:58 UTC (History)
1 user (show)

See Also:
Issue Type: DEFECT
Latest Confirmation in: ---
Developer Difficulty: ---


Attachments
fix collisions of temporary files (2.26 KB, patch)
2003-06-24 13:56 UTC, hjs
no flags Details | Diff
workaround a strange "eat up all previous chars" bug in dmake (2.29 KB, patch)
2003-06-24 15:37 UTC, hjs
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this issue.
Description pavel 2003-06-22 17:11:35 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.
Comment 1 Martin Hollmichel 2003-06-23 13:45:34 UTC
mh->hjs: just another parallel build issue ?
Comment 2 hjs 2003-06-24 12:38:20 UTC
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 :-)
Comment 3 pavel 2003-06-24 12:55:53 UTC
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?
Comment 4 hjs 2003-06-24 13:54:14 UTC
more than one language to pack does the trick. try to apply the
attached patch to fix the problem.
Comment 5 hjs 2003-06-24 13:56:46 UTC
Created attachment 7105 [details]
fix collisions of temporary files
Comment 6 pavel 2003-06-24 14:11:23 UTC
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?
Comment 7 pavel 2003-06-24 14:28:05 UTC
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/....
Comment 8 hjs 2003-06-24 15:37:51 UTC
Created attachment 7110 [details]
workaround a strange "eat up all previous chars" bug in dmake
Comment 9 hjs 2003-06-24 15:42:43 UTC
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.

Comment 10 gregor.hartmann 2003-06-26 16:59:47 UTC
reviewed
Comment 11 hjs 2003-06-26 18:36:40 UTC
hi pavel! could you please confirm that the second patch fixes your
problem in "helpcontent" and keeps "sandbox" buildable?
Comment 12 pavel 2003-06-26 19:41:56 UTC
Yes, both projects are buildable now. Even with MAXPROCESS > 4. Please
commit to 11rc too.

Thanks!
Comment 13 hjs 2003-06-27 11:45:26 UTC
commited to ooo11rc
Comment 14 pavel 2003-06-27 12:58:11 UTC
Thanks!