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:
Unfortunately retdec is used cmake which is calling another build systems like make/gmake which makes everything extremely complicated.
While it adds some challenges, typically these issues can be fixed with the appropriate args and/or env vars.
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 by cmake
. I'm hoping this might be related to the cmake
PG, but still investigating.
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.