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

Open
p6rt opened this issue Aug 29, 2014 · 4 comments
Open

Unneeded rebuilds on rakudo-moar #3474

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

Comments

@p6rt
Copy link

@p6rt p6rt commented Aug 29, 2014

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

Searchable as RT122649$

@p6rt
Copy link
Author

@p6rt 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 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 p6rt commented Sep 29, 2014

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

@p6rt
Copy link
Author

@p6rt 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
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked pull requests

Successfully merging a pull request may close this issue.

None yet
1 participant
You can’t perform that action at this time.