CodeCompass icon indicating copy to clipboard operation
CodeCompass copied to clipboard

Support Ubuntu Jammy 22.04

Open mcserep opened this issue 3 years ago • 3 comments

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 avatar May 26 '22 08:05 mcserep

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.

intjftw avatar Jun 15 '22 08:06 intjftw

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 avatar Sep 18 '22 17:09 mcserep

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 😄

mcserep avatar Oct 04 '22 16:10 mcserep

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 avatar Jun 30 '23 08:06 tiaanwessels

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 avatar Jun 30 '23 11:06 mcserep

@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.

mcserep avatar Sep 20 '23 01:09 mcserep