Opened 2 years ago

Closed 2 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 2 years ago by mascguy (Christopher Nielsen)

Kirill, I'm currently validating the portfile changes for this, and it'll be committed shortly.

comment:2 Changed 2 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 2 years ago by Christopher Nielsen <mascguy@…>

In a61fe3d247cc9ba0660d181afa6be79cca3690a8/macports-ports (master):

retdec/retdec-devel: force use of gmake

  • Necessary to prevent intermingling of macOS make and gmake
  • Add missing darwin platform checks

See: #63999

comment:4 in reply to:  2 Changed 2 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 by cmake. I'm hoping this might be related to the cmake 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.

Last edited 2 years ago by mascguy (Christopher Nielsen) (previous) (diff)

comment:5 Changed 2 years ago by Christopher Nielsen <mascguy@…>

In 663bed1e4938007edf920214d6554e76385a32dc/macports-ports (master):

retdec/retdec-devel: use full path to gmake
See: #63999

  • Also revert to cmake-1.0 portgroup, due to outstanding issue:

See: #64009

comment:6 Changed 2 years ago by catap (Kirill A. Korinsky)

Resolution: fixed
Status: assignedclosed

In da01e7cae1388ad2429d400e1be450feb528e78a/macports-ports (master):

retdec: fix build on old macOS

It also switched to build agains system openssl, and force use of gmake
for yara.

Closes: #63999

Note: See TracTickets for help on using tickets.