Skip to content

Support Ubuntu Jammy 22.04 #580

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

Closed
mcserep opened this issue May 26, 2022 · 6 comments · Fixed by #629
Closed

Support Ubuntu Jammy 22.04 #580

mcserep opened this issue May 26, 2022 · 6 comments · Fixed by #629
Assignees
Labels
Target: Developer environment Developer environment issues consist of CodeCompass or 3rd-party build tooling, configuration or CI.

Comments

@mcserep
Copy link
Collaborator

mcserep commented May 26, 2022

Ubuntu 22.04 (Jammy Jellyfish) is out, we shall support it officially.
We shall still continue to support Ubuntu 18.04, as the EOL is 2023 April and the current ELX release still depends on it as far as I know.

@mcserep mcserep added the Target: Developer environment Developer environment issues consist of CodeCompass or 3rd-party build tooling, configuration or CI. label May 26, 2022
@mcserep mcserep added this to the Release Gershwin milestone May 26, 2022
@intjftw intjftw self-assigned this Jun 13, 2022
@intjftw
Copy link
Collaborator

intjftw commented Jun 15, 2022

A couple issues with this:

  • LLVM 10 is not available to install from apt in Ubuntu 22.04. LLVM 11 to 14 are available.
  • LLVM 10+ had some modifications in the methods we use so upgrading requires some updates to our code as well.
  • The problem with ODB in Ubuntu 18.04 re-emerged in 22.04. We need to manually compile ODB.
  • Only Thrift 0.16.0 is available in Ubuntu 22.04 which is - of course - not backward-compatible, so we need to manually compile Thrift 0.13.0 as well.
  • There are a few missing header inclusions in our files which g++ 11 refuses to complement, so those should be added.

@mcserep
Copy link
Collaborator Author

mcserep commented Sep 18, 2022

My suggestions:

  • Drop support for Ubuntu 18.04. Its EOL is already near anyway and one problem less here.
  • Use LLVM 11, which can be installed from the standard APT repository both for Ubuntu 20.04 and 22.04.
  • If we need manual compilation for ODB on Ubuntu 22.04, it is a shame, but we have no other choice if the packaged version in the APT repository is incorrect.
  • We shall stay with Thrift 0.13.0 for now and compile it manually on Ubuntu 22.04. Most of the developers still use Ubuntu 20.04. Later, in a separate ticker, we can upgrade to Thrift 0.16.0, update the codebase and require manual compilation on Ubuntu 20.04.

@mcserep mcserep changed the title Support Ubuntu Jammy Support Ubuntu Jammy 22.04 Sep 26, 2022
@mcserep
Copy link
Collaborator Author

mcserep commented Oct 4, 2022

The Ubuntu 18.04 CI jobs failed both for #582 and #584 recently. It seems Thrift 0.13.0 does not compile anymore on Ubuntu 18.04:

CSC : error CS7027: Error signing output with public key from file 'thrift.snk' -- File not found. [/home/runner/thrift-0.13.0/lib/netstd/Thrift/Thrift.csproj]

Another reason to drop support for Ubuntu 18.04 😄

@tiaanwessels
Copy link

I'd like to experiment with CodeCompass on Ubuntu 22 but get the following when i build it:
[ 20%] Building CXX object service/authentication/CMakeFiles/authenticationthrift.dir/gen-cpp/authentication_constants.cpp.o
cc1plus: fatal error: /home/skim/CodeCompass/Build/service/authentication/gen-cpp/authentication_constants.cpp: No such file or directory
compilation terminated.

@mcserep
Copy link
Collaborator Author

mcserep commented Jun 30, 2023

I'd like to experiment with CodeCompass on Ubuntu 22 but get the following when i build it: [ 20%] Building CXX object service/authentication/CMakeFiles/authenticationthrift.dir/gen-cpp/authentication_constants.cpp.o cc1plus: fatal error: /home/skim/CodeCompass/Build/service/authentication/gen-cpp/authentication_constants.cpp: No such file or directory compilation terminated.

@tiaanwessels We are still working on to make CodeCompass easy to build on Ubuntu 22.04, with the packages available in the standard repository. Meanwhile please prefer to use Ubuntu 20.04. (We also have Docker images for that.)

@mcserep
Copy link
Collaborator Author

mcserep commented Sep 20, 2023

@tiaanwessels While working on #629, I also found this issue you mentioned. The reason is that have you most likely installed a newer version of Thrift than 0.13, and they are not backward-compatible, as the major version is still 0. Please follow the updated build instructions and compile Thrift from source.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Target: Developer environment Developer environment issues consist of CodeCompass or 3rd-party build tooling, configuration or CI.
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants