On Sat, Feb 01, 2025 at 07:47:18PM +0200, Yavor Doganov wrote: > Here is the problem but I don't understand why it happens. From my > log at the end of this prerequisite check: > > | Finished prerequisites of target file 'gui.make'. > | Prerequisite 'gui.make.in' is older than target 'gui.make'. > | Prerequisite 'Version' is older than target 'gui.make'. > | Prerequisite 'configure' is older than target 'gui.make'. > > How it happens that the gui.make target needs to be rebuilt in your > case? I attach my build log with --debug=a entirely as I'm afraid of > making a mistake while cutting stuff you're not interested in. I'll > just make another try with the official package in unstable, obtained > with apt-get source.
I fear I am not seeing the cause yet. From reading the log, it very much seems to me that your source package would contain a gui.make. In your log, it says | Considering target file 'gui.make'. | Considering target file 'gui.make.in'. whereas in my log it says | Considering target file 'gui.make'. | File 'gui.make' does not exist. and this leads me to conclude that gui.make initially exists in your build for some reason while it does not exist in the uploaded Debian source package. Incidentally, what my proposed patch does is creating it before running make distclean. Your log also shows that make distclean ends up removing gui.make (as also happens for me). Unfortunately, the second make distclean that also passes doc=yes is not run with --debug=a, so we do not see how it evaluates gui.make, but as it is not running configure, it probably works the same way as the first make distclean. I therefore conclude that I am missing an important detail here. Would you disclose what type of filesystem your build environment uses for storing the build tree? In my case (and crossqa.d.n) it is tmpfs. While I find the failure quite plausible now, I am lacking an explanation for the behaviour I see in your log. Clearly, the first distclean does remove gui.make and equally clearly, the second distclean does not run configure. As the first distclean finds a gui.make, a very plausible explanation would be that gui.make actually does exist when running the second distclean, but what would create it or prevent it from being deleted? I'm running out of ideas on how to debug this. Helmut