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

Retire Ubuntu Focal #4895

Merged
merged 1 commit into from
Aug 14, 2022
Merged

Retire Ubuntu Focal #4895

merged 1 commit into from
Aug 14, 2022

Conversation

daschuer
Copy link
Member

This stops building Ubuntu Focal on our nighty PPA
This is a prerequisite for merging #4810

Copy link
Member

@Swiftb0y Swiftb0y left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

waiting for ci

Copy link
Member

@Holzhaus Holzhaus left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thank you.

@Holzhaus Holzhaus merged commit c7c6fd2 into mixxxdj:main Aug 14, 2022
@ronso0
Copy link
Member

ronso0 commented Aug 15, 2022

From looking at #4810 it's not clear what this is about.
Is it C++20 / gcc10?
https://mixxx.zulipchat.com/#narrow/stream/247620-development-help/topic/Deprecating.20ubuntu.2020.20early

@Swiftb0y
Copy link
Member

Swiftb0y commented Aug 15, 2022

Both I guess. C++20 requires at modern enough gcc version (which is not available on focal).
Can you elaborate what you want to know exactly? I'm afraid I don't really understand your comment.

@ronso0
Copy link
Member

ronso0 commented Aug 15, 2022

This stops building Ubuntu Focal on our nighty PPA
This is a prerequisite for merging #4810

It's not clear what change of #4810 exactly requires retiring Focal (that conversation is rather long and that info doesn't stick out).
I know Focal is EOL now, I wanted to know what I can do to still build main on Focal.

@Swiftb0y
Copy link
Member

Ah, I was pushing heavily to use std::span<CSAMPLE> instead of the CSAMPLE* pIn, int num paradigm. Unfortunately, that requires a version of the standard library that only works since gcc 10. So if you want to build the newest main on focal, you can try to get mixxx to compile using gcc10. Alternatively, you can upgrade to Jammy (not sure how feasible that is, I don't have enough experience with ubuntu).

@ronso0
Copy link
Member

ronso0 commented Aug 15, 2022

Alrigth, that's the route I planned to go anyway, or try clang.

Alternatively, you can upgrade to Jammy (not sure how feasible that is, I don't have enough experience with ubuntu).

IME the core system upgrade did kinda works, with an unmodded system there may be no issues But mods & tweaks related to hardware and workflow tend to break. Most issues are obvious and noticed right away, though the annoying part is the stuff that breaks when I'm really not in the mood for fixes and reboots.
That might be different nowadays.
Anyway, to have a clean base I'll do a fresh 22.04 install some day and hopefully remember to document all tweaks. "Some day" is usually during (central-european) autumn/winter ; )

@daschuer
Copy link
Member Author

I did a branch that allows to build main with focal: https://github.com/daschuer/mixxx/tree/focal_main

@ronso0
Copy link
Member

ronso0 commented Aug 15, 2022

Thanks, though that won't help with building PRs.

@daschuer
Copy link
Member Author

The situation is currently a bit cumbersome. We have merged this, to not put extra work on @Swiftb0y and @davidchocholaty which is a fully valid request and covered 100 % by our Minimum Requirement policy. However the merged class is not even used right now, and the patch required to keep Ubuntu Focal working is only minimal.

Since 22.4.1 is released a few days ago, my Ubuntu Focal is offering me an update. I will Upgrade in the next month or such when I am in a good mood fro that. In the meantime I will maintain the branch.

I feel sorry that we now put extra work on @ronso0 who has many open PRs and will only find time for the upgraded in autumn/winter.

Since a 2.4 cut out is overdue since 8 months. How about this:

  • Cut out the 2.4 branch now
  • Merge my focal franch to this branch and revert this PR there

This will allow @ronso0 continue his wonderful polishing work without hassle towards a 2.4 branch and doe not stop @Swiftb0y using c++20 in main.

What do you think?

@Swiftb0y
Copy link
Member

Swiftb0y commented Aug 15, 2022

Mhmm. While I have nothing in principle against cutting a 2.4 branch now, this results in the case where we have the rubberband pitch shift effect in the release which in a completely unpolished state. I guess we can live with that? trying to find workaround is not worth it?
So I guess we decide to postpone C++20 support to 2.5?

@daschuer
Copy link
Member Author

daschuer commented Aug 15, 2022

A cut out alone means we polish for a beta release. We can decide what is required to do.
For me, It is OK to have a pitch shift effect in the current state in a beta release. It is already useful.
If it turns out to be confusing for user or even break things we can disable during the beta phase.

So I guess we decide to postpone C++20 support to 2.5?

This statement does not quite fit, because we have C++20 support already. Nothing is "postponed". The crucial question is more like: "Will put the Focal support in 2.4 put extra work on us". I consider not, because bug fixes in a beta branch will probably not required features not supported in Focal. If this would be the case, I would like to drop the Focal support from the beta.

@ronso0
Copy link
Member

ronso0 commented Aug 15, 2022

Don't worry, and please don't complicate things because I'm not up to date.
Looks like I'm building #4810 and main with g++10 right now, and no complaints about missing <span> anymore...

@Swiftb0y
Copy link
Member

This statement does not quite fit, because we have C++20 support already. Nothing is "postponed".

Well, as I see it, "Ubuntu Focal support $\centernot\iff$ C++20 support". So if we keep focal support in the beta, we can't merge polishing PRs which make use of C++20 features. And since we don't want to drop support for a ubuntu version as part of a bugfix release, that means we can't put any C++20 into any 2.4.x release. So that's why that would postpone any use of C++20 to 2.5.

So yes and no, ubuntu focal support for 2.4 simply means not being able to use new features for a longer than time in some circumstances (2.4.x PRs). Which I personally find quite annoying.

@Swiftb0y
Copy link
Member

Don't worry, and please don't complicate things because I'm not up to date.

Well, I acknowledge that you are probably not alone. There are a lot of users that might want to stay on focal a little longer...

Looks like I'm building #4810 and main with g++10 right now, and no complaints about missing <span> anymore...

I didn't know it was that easy to just use gcc10... What changes did you make? While gcc10 is not fully C++20 compliant, it implements about 90%, which is good enough for now IMO.

@ronso0
Copy link
Member

ronso0 commented Aug 15, 2022

What changes did you make?

https://mixxx.zulipchat.com/#narrow/stream/247620-development-help/topic/Deprecating.20ubuntu.2020.20early/near/293636016

this is how I set up to use g++10 and gcc10 with Ubuntu Focal Fossa 20.04

  • install g++ & gcc 10.3 from focal-updates repo
  • use update-alternatives to use v10.3 by default, as described here https://askubuntu.com/a/1316782 (setting all g++/gcc-10 paths via cmake-gui didn't work out, it used 9.4 instead)

@daschuer
Copy link
Member Author

Well, as I see it, "Ubuntu Focal support !=
C++20 support"

That's true. We just need to predict how likely it is that we will use c++20 features not supported by gcc 9.4 in polish releases.
Since we have now two solutions for keeping Focal compiling, there is no need to decide that in a rush. I think we need anyway a beta phase of 6 months, so the problem will fade out slowly anyway, before we release 2.4.

@Swiftb0y
Copy link
Member

Sure, lets cut the 2.4 beta now. If I get to annoyed by the lack of C++20 in 2.4, we can still drop focal support during the beta.

@daschuer daschuer deleted the retire_focal branch October 12, 2022 12:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants