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

Trying to build main results in "refusing to install version broken" #86

Open
JJ opened this issue Feb 25, 2025 · 6 comments
Open

Trying to build main results in "refusing to install version broken" #86

JJ opened this issue Feb 25, 2025 · 6 comments
Assignees

Comments

@JJ
Copy link
Contributor

JJ commented Feb 25, 2025

After trying to fix #85 by using main, that is, rakubrew build moar main

314.3 Rakudo has been built and installed.
314.3 Version moar-main is broken. Refusing to switch to it.

Different combinations of blead did not work either.

@patrickbkr patrickbkr self-assigned this Feb 25, 2025
@patrickbkr
Copy link
Member

I can't reproduce this. rakubrew build moar main && rakubrew switch moar-main works fine here.
Did you try to run this locally?

Is this Dockerfile where the error is coming from? I think this is pushing rakubrew a bit too far. Are you ok with me creating a PR to do this without rakubrew? (I think we had a discussion about this back in 2021.)

@JJ
Copy link
Contributor Author

JJ commented Feb 25, 2025

Right, that's the Dockerfile. I can do it without rakubrew alright, but the fact that it happens more or less reproducibly means that there's some issue here that is not tested properly and that can arise over and over again...

@patrickbkr
Copy link
Member

That's a good point. A possible solution to prevent this stumbling block in the future could be to check for --prefix in --configure-opts= and abort early with a helpful error message. What do you think?

@JJ
Copy link
Contributor Author

JJ commented Feb 26, 2025

I think that it would be nice to fix behaviors via tests; the is_broken (don't remember exactly the precise name of the function would have to look it up) has several possible factors and outcomes and would be nice to test it.
The issue here is that it's flagging as broken something that is possibly not, or at any rate, not clarifying why it thinks it's broken (or, for that matter, what broken means in this context)

@patrickbkr
Copy link
Member

Technically the logic tries to check if the build resulted in an installation rakubrew can use (i.e. the rakudo executables are in the place where rakubrew needs them to be).
When using --prefix the installation ends up somewhere else and not in rakubrews version store. Thus the installation is not usable for rakubrew.

The issue here is that it's flagging as broken something that is possibly not, or at any rate, not clarifying why it thinks it's broken (or, for that matter, what broken means in this context)

Agreed.

I'll add both, a check to prevent --prefix and add a info message telling why rakubrew thinks a version is broken.

@patrickbkr
Copy link
Member

I've added the --prefix check and the message on broken builds in v43.
A rakubrew self-upgrade should suffice to update to that version. A respective change to the rakubrew.org website is on it's way.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants