Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unneeded rebuilds on rakudo-moar #3474

Closed
p6rt opened this issue Aug 29, 2014 · 5 comments
Closed

Unneeded rebuilds on rakudo-moar #3474

p6rt opened this issue Aug 29, 2014 · 5 comments
Labels

Comments

@p6rt
Copy link

p6rt commented Aug 29, 2014

Migrated from rt.perl.org#122649 (status was 'open')

Searchable as RT122649$

@p6rt
Copy link
Author

p6rt commented Aug 29, 2014

From @coke

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

@p6rt
Copy link
Author

p6rt commented Sep 29, 2014

From @usev6

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)​: rakudo/rakudo@af43dae

@p6rt
Copy link
Author

p6rt commented Sep 29, 2014

The RT System itself - Status changed from 'new' to 'open'

@p6rt
Copy link
Author

p6rt commented Sep 29, 2014

From @FROGGS

There were alos patches about removing and recreating the runners so we can be sure we do not leave a broken symlink in place​:

rakudo/rakudo@3bb45b7
rakudo/rakudo@bc6a32a

@p6rt p6rt added the build label Jan 5, 2020
@usev6
Copy link

usev6 commented Apr 10, 2021

I think this doesn't happen anymore:

$ gmake
+++ Checking for moar NQP version
$ gmake
+++ Checking for moar NQP version

No files were updated after these commands. Probably it was fixed with switching to https://github.com/Raku/nqp-configure.

I don't think we need a test for this (and I have no idea how such a test could look like). If you don't agree, please reopen. Closing now.

@usev6 usev6 closed this as completed Apr 10, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants