#16499 closed enhancement (fixed)
speex, speex-devel: enable parallel build
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | billitch@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 1.6.0 |
Keywords: | Cc: | ||
Port: | speex, speex-devel |
Description
Do you have any objection to enabling the parallel build feature in the speex and speex-devel ports? This lets them build faster on multiprocessor systems.
Attachments (1)
Change History (6)
Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Attachment: | speex-parallel.diff added |
---|
comment:1 Changed 16 years ago by billitch@…
comment:2 Changed 16 years ago by ryandesign (Ryan Carsten Schmidt)
Port: | speex speex-devel added |
---|
MacPorts trunk (what will be MacPorts 1.7) already only uses multiple jobs during the build phase and no longer does so during the destroot and test phases. (The install phase doesn't use make.) See:
http://lists.macosforge.org/pipermail/macports-dev/2008-May/005191.html
We can wait to enable the parallel build of speex and speex-devel until after MacPorts 1.7 is released.
comment:3 Changed 16 years ago by (none)
Milestone: | Port Enhancements |
---|
Milestone Port Enhancements deleted
comment:4 Changed 15 years ago by tobypeterson
Resolution: | → fixed |
---|---|
Status: | new → closed |
disabled parallel build in r55105
comment:5 Changed 15 years ago by ryandesign (Ryan Carsten Schmidt)
But this request was to enable parallel building. :-) The only reason why it wasn't done sooner is that MacPorts 1.6 also tried to do "make install" in parallel, which caused a problem for speex. MacPorts 1.7 no longer tries to do "make install" in parallel so it should now be safe to enable it. Also, your commit did not address speex-devel.
I have enabled parallel building in speex and speex-devel in r55395. It worked fine for me with MacPorts 1.7.1 on an Intel Core 2 Duo machine with 3 parallel jobs. If you actually encountered a problem building these ports in parallel, let me know and we can turn it off again.
actually, yes :
Running
port install
again is successful but I would not take it as an acceptable solution, it is more of a proof that parallel build is broken in the destroot phase of the Makefile/Portfile.I successfully disabled the parallel build in the destroot phase and it works fine, so local fix is possible.
However I believe there is a possible problem resolution at a larger scale : is there a rationale for using multiple make jobs for the destroot and install phases ? These are not improved at all by CPU parallelism, and I guess this is the case for every phase except build. I think of parallel destroot/install as a factor of unstability for each and every port which has enabled parallel build, did not disable it for the destroot phase and uses
make
asbuild.cmd
, which is the default.