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

Add gcc11 to Ubuntu20.04 setup and add PkgConfig install #11326

Closed

Conversation

czentgr
Copy link
Collaborator

@czentgr czentgr commented Oct 22, 2024

Modernize the compiler used on Ubuntu 20.04. Once Velox moves to using the C++20 standard the system gcc9 compiler cannot be used anymore.

In addition, recent upgrades added the usage of PkgConfig which was not installed into the system and is not by default pre-installed into ubuntu 20.04.

Resolves: #10953

@facebook-github-bot facebook-github-bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Oct 22, 2024
Copy link

netlify bot commented Oct 22, 2024

Deploy Preview for meta-velox canceled.

Name Link
🔨 Latest commit 9de06d2
🔍 Latest deploy log https://app.netlify.com/sites/meta-velox/deploys/672a77365f375400087bffa4

@czentgr
Copy link
Collaborator Author

czentgr commented Oct 22, 2024

@PHILO-HE FYI.

@PHILO-HE
Copy link
Contributor

@czentgr, the recently upgraded folly requires GCC >= 10. Otherwise, the below compile error will be reported. So we should land this pr now to avoid this error, right?

/velox/deps-download/folly/folly/Portability.h:38:24: error: static assertion failed: __GNUC__ >= 10
   38 | static_assert(__GNUC__ >= 10, "__GNUC__ >= 10");

@czentgr czentgr marked this pull request as ready for review October 24, 2024 01:33
@czentgr
Copy link
Collaborator Author

czentgr commented Oct 24, 2024

@PHILO-HE Yes, basically, Ubuntu 20.04 is currently broken without these changes - the user would do all of this manually.
We already state Velox requires a compiler at the minimum GCC 11.0 or Clang 15.0. in the README.

@czentgr
Copy link
Collaborator Author

czentgr commented Oct 24, 2024

@majetideepak @assignUser Please take a look.

Copy link
Collaborator

@assignUser assignUser left a comment

Choose a reason for hiding this comment

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

Thanks!

@@ -75,14 +91,19 @@ function install_build_prerequisites {
ninja-build \
checkinstall \
git \
pkg-config \
cmake-data \
Copy link
Collaborator

@assignUser assignUser Oct 24, 2024

Choose a reason for hiding this comment

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

nit: Do we actually need cmake-data when installing via pip?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Good point. We don't install cmake from the system. When looking for PkgConfig I though we might need more stuff. But this doesn't make sense. I'm trying it out without this package.

@czentgr czentgr force-pushed the cz_ubuntu_20.04_gcc11 branch from 01ea468 to 6d8a17f Compare October 24, 2024 23:12
@PHILO-HE
Copy link
Contributor

The pr looks good to me. Thanks!

@assignUser assignUser added the ready-to-merge PR that have been reviewed and are ready for merging. PRs with this tag notify the Velox Meta oncall label Oct 28, 2024
@PHILO-HE
Copy link
Contributor

PHILO-HE commented Nov 4, 2024

@xiaoxmeng, if no comment, could you merge this pr? I just found this pr is also required for ubuntu 22.04 to fix missing pkg-config.

@facebook-github-bot
Copy link
Contributor

@mbasmanova has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@mbasmanova
Copy link
Contributor

@czentgr Would you rebase to allow merging?

Modernize the compiler used on Ubuntu 20.04. Once Velox moves to using the
C++20 standard the system gcc9 compiler cannot be used anymore.

In addition, recent upgrades added the usage of PkgConfig which was not installed into the system and is
not by default pre-installed into ubuntu 20.04.
@czentgr czentgr force-pushed the cz_ubuntu_20.04_gcc11 branch from 6d8a17f to 9de06d2 Compare November 5, 2024 19:51
@czentgr
Copy link
Collaborator Author

czentgr commented Nov 5, 2024

@mbasmanova I rebased. Please take another look.

@facebook-github-bot
Copy link
Contributor

@mbasmanova has imported this pull request. If you are a Meta employee, you can view this diff on Phabricator.

@facebook-github-bot
Copy link
Contributor

@mbasmanova merged this pull request in bfc199f.

Copy link

Conbench analyzed the 1 benchmark run on commit bfc199fc.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. Merged ready-to-merge PR that have been reviewed and are ready for merging. PRs with this tag notify the Velox Meta oncall
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Ubuntu 20.04 install gcc11 instead of gcc9
5 participants