Skip Menu |
Report information
Id: 133153
Status: open
Priority: 0/
Queue: perl5

Owner: Nobody
Requestors: pali [at] cpan.org
Cc:
AdminCc:

Operating System: (no value)
PatchStatus: (no value)
Severity: low
Type: unknown
Perl Version: (no value)
Fixed In: (no value)

Attachments
0001-Time-HiRes-Fix-generating-Makefile-when-does-not-exi.patch



To: perlbug [...] perl.org
Date: Wed, 25 Apr 2018 13:29:08 +0200
From: pali [...] cpan.org
Subject: [PATCH] Time-HiRes: Fix generating Makefile when it does not exist
Download (untitled) / with headers
text/plain 1.3k
More times when compiling/updating perl codebase I'm getting following compile error: ./miniperl -Ilib make_ext.pl lib/auto/Time/HiRes/HiRes.so MAKE="make" LIBPERL_A=libperl.a LINKTYPE=dynamic Makefile.PL: The "xdefine" exists, skipping the configure step. Use "/home/pali/perl/miniperl Makefile.PL --configure" or: "/home/pali/perl/miniperl Makefile.PL --force to force the configure step. Warning: No Makefile! make[1]: Entering directory '/home/pali/perl/dist/Time-HiRes' make[1]: *** No rule to make target 'all'. Stop. make[1]: Leaving directory '/home/pali/perl/dist/Time-HiRes' make[1]: Entering directory '/home/pali/perl/dist/Time-HiRes' make[1]: *** No rule to make target 'all'. Stop. make[1]: Leaving directory '/home/pali/perl/dist/Time-HiRes' Unsuccessful make(dist/Time-HiRes): code=512 at make_ext.pl line 570. makefile:582: recipe for target 'lib/auto/Time/HiRes/HiRes.so' failed make: *** [lib/auto/Time/HiRes/HiRes.so] Error 2 Reason is that Makfile.PL does not generate Makefile if --configure or --force is not specified. And it does not generate it even when Makefile does not exist. It is really ridiculous that Makefile.PL does not generate Makefile without specifying some non-standard flags which even make_ext.pl does not support. This patch ensures that Makefile is always generated when Makefile.PL is called despite which arguments were passed. So it fixes above problem with compilation.

Message body is not shown because sender requested not to inline it.

RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 734b
On Wed, 25 Apr 2018 04:30:36 -0700, pali@cpan.org wrote: Show quoted text
> More times when compiling/updating perl codebase I'm getting following > compile error: > > ./miniperl -Ilib make_ext.pl lib/auto/Time/HiRes/HiRes.so MAKE="make" > LIBPERL_A=libperl.a LINKTYPE=dynamic > Makefile.PL: The "xdefine" exists, skipping the configure step.
The patch is not the correct way to fix the problem - it only symptom-fixes, it does not fix the cause of the problem. The cause is that the "xdefine" file still exists between builds. I would ask why a 'make realclean' or 'make clean' (whatever you are doing between builds that prepares it for rebuilding) is not removing the "xdefine" file (which is the flag that says 'I configured already'), instead.
RT-Send-CC: perl5-porters [...] perl.org
Download (untitled) / with headers
text/plain 636b
On Wed, 25 Apr 2018 09:17:47 -0700, csjewell@cpan.org wrote: Show quoted text
> The patch is not the correct way to fix the problem - it only symptom- > fixes, it does not fix the cause of the problem. The cause is that the > "xdefine" file still exists between builds. I would ask why a 'make > realclean' or 'make clean' (whatever you are doing between builds that > prepares it for rebuilding) is not removing the "xdefine" file (which > is the flag that says 'I configured already'), instead.
I agree, why is there a build product on disk in the first place? .gitignore problem or makefile clean target problem? -- bulk88 ~ bulk88 at hotmail.com
Date: Thu, 26 Apr 2018 16:11:50 +0200
Subject: Re: [perl #133153] [PATCH] Time-HiRes: Fix generating Makefile when it does not exist
From: pali [...] cpan.org
To: perlbug-followup [...] perl.org
Download (untitled) / with headers
text/plain 405b
make_ext.pl in more cases remove Makefile file and then expect that calling Makefile.PL without any additional argument would generate it again. This is working fine for all subparts except Time-HiRes which does not generate Makefile again. If you think that it is incorrect, then (re)define Makefile.PL API under which conditions is Makefile being generated and fix scripts around which calls Makefile.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org