garrigue/lablgtk

Issue with Makefile since upgrading to GNU make 4.4

Closed this issue · 13 comments

brad0 commented

Looking at upgrading GNU make in OpenBSD to 4.4, but ran into only one port that seemed to break. Looking at the build logs it noticed a message during install stage.. "warning: pattern recipe did not update peer target". OpenBSD is using 2.18.11 at the moment.

ocamlfind: sourceView2Enums.ml: No such file or directory

Looking at the release notes there is an entry for this message..

  • WARNING: Future backward-incompatibility!
    In the NEXT release of GNU Make, pattern rules will implement the same
    behavior change for multiple targets as explicit grouped targets, below: if
    any target of the rule is needed by the build, the recipe will be invoked if
    any target of the rule is missing or out of date. During testing some
    makefiles were found to contain pattern rules that do not build all targets;
    this can cause issues so we are delaying this change for one release cycle
    to allow these makefiles to be updated. GNU Make shows a warning if it
    detects this situation: "pattern recipe did not update peer target".

Also on NixOS. But lablgtk 3.1.3 doesn't seem to suffer from this.

brad0 commented

I don't see any relevant changes with 2.18.13. It didn't make any difference.

Indeed, 2.8.13 fixed incompatilities with ocaml 5.0, not with gmake.
I'll look into this.

brad0 commented

I'll look into this.

Able to look into this?

Actually, I started looking into, but have a hard time reproducing.
With macports, the gmake version is 4.3 so I don't get an error. Is there a way to force gmake 4.3 to fail in such cases?
Also, does the failure happen always, or only in certain conditions?

brad0 commented

It happens every time. I only see this with 4.4. We are using 4.3 at the moment.

brad0 commented

I'm not a MacPorts user, but I noticed that up to date MacPorts beyond the 1.8.0 release has had GNU make 4.4 since Nov 2022.

Thank you for the information.
I'll check how to install it.

brad0 commented

ping.

I did try using gmake 4.4 under macos.
I do indeed get the warning, but compilation proceeds without problem.
So what needs to be fixed ?
Does this mean that problems will only start to appear with gmake 4.5 ? or gmake 5.0 ?

brad0 commented

It will start with 4.4.0 or newer.

Anyway, I can't seem to find the repo or branch for lablgtk2. There is a patch to fix the build issue.

This is a bit confusing, but the branch for lablgtk2 is master.

brad0 commented

I submitted a PR. The message "warning: pattern recipe did not update peer target" appears to be a red herring. It does not appear to be connected to the root issue.