Issue with Makefile since upgrading to GNU make 4.4
Closed this issue · 13 comments
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.
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.
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?
It happens every time. I only see this with 4.4. We are using 4.3 at the moment.
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.
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 ?
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
.
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.