Opened 3 years ago
Closed 3 years ago
#63999 closed defect (fixed)
retdec/retdec-devel: build intersperses use of 'make' and 'gmake', preventing proper jobserver coordination
Reported by: | mascguy (Christopher Nielsen) | Owned by: | mascguy (Christopher Nielsen) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.7.1 |
Keywords: | Cc: | catap (Kirill A. Korinsky) | |
Port: | retdec retdec-devel |
Description
When port gmake
is installed, the build for these ports will intermingle use of make
and gmake
. That's highly problematic, as it prevents proper jobserver coordination between subprocesses.
This effectively eliminates build job process limiting, causing parallel builds to overwhelm the host.
While this could probably be fixed via various mechanisms, the simplest approach is to simply add a build dep on gmake
, and force the use of the latter via build.cmd
.
Change History (6)
comment:1 Changed 3 years ago by mascguy (Christopher Nielsen)
comment:2 follow-up: 4 Changed 3 years ago by catap (Kirill A. Korinsky)
Unfortunately retdec is used cmake which is calling another build systems like make/gmake which makes everything extreamly complicated.
comment:3 Changed 3 years ago by Christopher Nielsen <mascguy@…>
comment:4 Changed 3 years ago by mascguy (Christopher Nielsen)
Replying to catap:
As for the fix just checked in, note that it doesn't solve all of the problems: I'm still seeing at least one case where
make
is being invoked bycmake
. I'm hoping this might be related to thecmake
PG, but still investigating.
Still need to do more digging into this. But based on how make
is being invoked - sometimes path-less, via make
- and other times, via a fully-qualified path to 'make' within the Xcode dev tools area - this may be a bit more involved.
But given how long it takes to build these ports without parallel building enabled, it seems worth the effort.
The next step is to try building with Trace Mode enabled, to gain more insight into what's occurring. More info to follow.
comment:5 Changed 3 years ago by Christopher Nielsen <mascguy@…>
comment:6 Changed 3 years ago by catap (Kirill A. Korinsky)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Kirill, I'm currently validating the portfile changes for this, and it'll be committed shortly.