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

Restore support for GCC-4.8 #246

Merged
merged 25 commits into from
Sep 18, 2022
Merged

Conversation

prince-chrismc
Copy link
Collaborator

closes #197


I originally tried to setup a CentOS 7 docker image to build in but that was just too cumbersome. I did almost get it in https://github.com/prince-chrismc/jwt-cpp/blob/c81a6c998607ba05ea2e3b4a131620dc9eabd14a/.github/workflows/targets.yml
but manually compiler CMake just takes forever...

I saw GitHub Actions still has Ubuntu 18.04 and I know that had GCC-4.8. But that's also limited to CMake 3.10 (we need 3.12 now). So looked into Ubuntu 20.04 but that just looked horrible. Again, I also looked at a container but that was the same problem as before.

👇 👇 👇 👇 👇

I personally really want to move to C++17... 23's feature list was just approved by ISO commitee... it's 5years old and the majority of platforms have complete support. Concepts would be amazing but those only made it in all 3 compilers 11 months ago...

I'd like to set the minimum at

  • gcc-9
  • clang-10
  • msvc 19.12 (Visual Studio 17 15.5)
  • apple-clang 10

@prince-chrismc
Copy link
Collaborator Author

@Thalhammer How do you feel about 0.8.0 being C++17?

@Thalhammer
Copy link
Owner

Thalhammer commented Sep 17, 2022

@Thalhammer How do you feel about 0.8.0 being C++17?

Not sure what C++17 would give us except for pissing of everyone stuck on C++11. The only newer standards feature I am looking forward to is C++20's concepts (to simplify the traits checks) but apart from that not sure if theres a reason to switch.
Any particular reason why you'd wanna switch to C++17 ?

While I personally agree that nearing the end of 2022 everyone should have a compiler thats capable of at least C++17, I don't really see a reason to enforce that unless it benefits us and laoshanxi's reoccuring issues prove quite impressively that a modern compiler is far from the norm.

Copy link
Owner

@Thalhammer Thalhammer left a comment

Choose a reason for hiding this comment

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

We might need to figure out a way to install gcc 4.8 on ubuntu 20.04 or higher given that ubuntu 18.04 is going to get removed in roughly 2 months. I think it should be possible to do so by replacing the sources.list with the xenial one and then apt update && apt install gcc. Either that or use the container key to use a docker container with ubuntu-18.04.

@prince-chrismc
Copy link
Collaborator Author

C++ 14 has detected, decltype auto, generic lambda...
I also want template variables to try wide string support.

From 17 better auto rules, has included (this pr), conexpr lambda, fall through, deduction rules, void_t, more type traits

I know people are stuck but they are already will to make that compromise of that getting updates. But other are being limited.

I'd be willing to bump to c++20 😆

@prince-chrismc
Copy link
Collaborator Author

The docker solution is definitely viable but just costs CI time which bothers no one

@prince-chrismc prince-chrismc merged commit 484bdb0 into Thalhammer:master Sep 18, 2022
@prince-chrismc prince-chrismc deleted the centos7 branch September 18, 2022 04:04
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

Successfully merging this pull request may close these issues.

build broken on gcc version 4.8.5
2 participants