Skip Menu |
Report information
Id: 122649
Status: open
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: coke <will [at] coleda.com>
Cc:
AdminCc:

Severity: (no value)
Tag: (no value)
Platform: (no value)
Patch Status: (no value)
VM: (no value)



Subject: Unneeded rebuilds on rakudo-moar
To: rakudobug [...] perl.org
Date: Fri, 29 Aug 2014 09:27:07 -0400
From: Will Coleda <will [...] coleda.com>
Download (untitled) / with headers
text/plain 490b
after a build: $ make /opt/local/bin/perl5.16 -MExtUtils::Command -e rm_f perl6 /opt/local/bin/perl5.16 -MExtUtils::Command -e cp perl6-m perl6 /opt/local/bin/perl5.16 -MExtUtils::Command -e chmod 755 perl6 ~/sandbox/rakudo $ make /opt/local/bin/perl5.16 -MExtUtils::Command -e rm_f perl6 /opt/local/bin/perl5.16 -MExtUtils::Command -e cp perl6-m perl6 /opt/local/bin/perl5.16 -MExtUtils::Command -e chmod 755 perl6 ~/sandbox/rakudo ./perl6 is continually remade. -- Will "Coke" Coleda
RT-Send-CC: perl6-compiler [...] perl.org
This happens for all backends. AFAIU the reason is that we have a target "m-runner-default" (in the case of Moar) in our Makefile. This target is a dependency for target "all" and is therefore called when executing "make". But since there is no file "m-runner-default" this target is considered out of date by "make" and the commands are executed always. The relevant lines from Makefile: all: m-all m-runner-default [...] m-runner-default: $(M_RUNNER) $(RM_F) perl6 -$(CP) $(M_RUNNER) perl6 -$(CHMOD) 755 perl6 I think we could get around this with using the actual executable "perl6" as the target: M_RUNNER_DEFAULT = perl6 all: m-all $(M_RUNNER_DEFAULT) [...] $(M_RUNNER_DEFAULT): $(M_RUNNER) $(RM_F) perl6 -$(CP) $(M_RUNNER) perl6 -$(CHMOD) 755 perl6 But I don't know a) if there is a reason for curren behaviour and b) if it's worth the trouble. Looks like the functionality was added by moritz about a year ago (for Parrot and JVM): https://github.com/rakudo/rakudo/commit/af43daed4746b2c5678e3de82ca2926d254e6906
Download (untitled) / with headers
text/plain 289b
There were alos patches about removing and recreating the runners so we can be sure we do not leave a broken symlink in place: https://github.com/rakudo/rakudo/commit/3bb45b7fed4a4352711054459a4c2e7b9c13a343 https://github.com/rakudo/rakudo/commit/bc6a32acb7afbcfa32b92f868609ac9e4814c3e9


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