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

Fix autotools build #457

Closed
wants to merge 5 commits into from

Conversation

mszabo-wikia
Copy link
Contributor

@mszabo-wikia mszabo-wikia commented Dec 11, 2024

The OSS autotools build has been nonfunctional for about a year. While #449 would be a better long-term approach to fixing the build since it would also bring it in sync with other Meta OSS projects and enable testing in CI, fixing the existing build until there's movement on that front would at least provide a signal on whether the OSS version is buildable at all.

So:

  • Introduce new Ubuntu 24.04 build files and use them in CI. I'll remove build files, Dockerfiles etc. for ancient Ubuntu and CentOS versions in a followup PR.
  • Pin fmtlib to 11.0.2, like fbcode_builder does, and skip building its test suite to not waste time.
  • Use Ninja to generate and build CMake-based dependencies.
  • Use googletest, gmock and zstd as packaged by Ubuntu rather than building their older versions from source.
  • Introduce and use a new define MCROUTER_OSS_BUILD to mark OSS-specific conditional compilation blocks. This could probably replace the existing LIBMC_FBTRACE_DISABLE and DISABLE_COMPRESSION defines too, as long as those aren't used outside of the OSS build.
  • Fix OSS build failures that have gone undetected due to CI being broken:
    • Add a shim for the SR-specific method HostInfoLocation::hostUniqueKey (used since 85facb9).
    • Remove redundant CarbonRouterInstance deletion logging that was using a Meta-specific include (used since 6c2142a).
    • Disable client identity propagation in the OSS build since it relies on Meta-specific code (used since 2f32271).

Fixes #453, fixes #444, fixes #447 etc.

mcrouter/CarbonRouterInstance-inl.h Outdated Show resolved Hide resolved
@facebook-github-bot
Copy link
Contributor

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

facebook-github-bot pushed a commit to facebook/hhvm that referenced this pull request Dec 19, 2024
Summary:
The OSS autotools build has been nonfunctional for about a year. While facebook/mcrouter#449 would be a better long-term approach to fixing the build since it would also bring it in sync with other Meta OSS projects and enable testing in CI, fixing the existing build until there's movement on that front would at least provide a signal on whether the OSS version is buildable at all.

So:
* Introduce new Ubuntu 24.04 build files and use them in CI. I'll remove build files, Dockerfiles etc. for ancient Ubuntu and CentOS versions in a followup PR.
* Pin fmtlib to 11.0.2, like fbcode_builder does, and skip building its test suite to not waste time.
* Use Ninja to generate and build CMake-based dependencies.
* Use googletest, gmock and zstd as packaged by Ubuntu rather than building their older versions from source.
* Introduce and use a new define `MCROUTER_OSS_BUILD` to mark OSS-specific conditional compilation blocks. This could probably replace the existing `LIBMC_FBTRACE_DISABLE` and `DISABLE_COMPRESSION` defines too, as long as those aren't used outside of the OSS build.
* Fix OSS build failures that have gone undetected due to CI being broken:
  * Add a shim for the SR-specific method `HostInfoLocation::hostUniqueKey` (used since 85facb9200dea75e661447ed11e05806f42de65f).
  * Remove redundant CarbonRouterInstance deletion logging that was using a Meta-specific include (used since 6c2142acd8e69edd40eed70a93ea17ee2909287d).
  * Disable client identity propagation in the OSS build since it relies on Meta-specific code (used since 2f32271533fdf54ce71cfb65f6fda3c621f076a4).

Fixes facebook/mcrouter#453, fixes facebook/mcrouter#444, fixes facebook/mcrouter#447 etc.

X-link: facebook/mcrouter#457

Reviewed By: lenar-f

Differential Revision: D67428119

Pulled By: disylh

fbshipit-source-id: a22e7616d9b82875611e45bf1df40a771db569d9
@facebook-github-bot
Copy link
Contributor

@disylh merged this pull request in 60a96f5.

@mszabo-wikia
Copy link
Contributor Author

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
3 participants