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

liburing compilation on Rocky Linux 8 which supports 4.18 kernel #36349

Open
Gaurav0411GitHub opened this issue Sep 26, 2024 · 10 comments
Open
Labels
area/build question Questions that are neither investigations, bugs, nor enhancements

Comments

@Gaurav0411GitHub
Copy link

Gaurav0411GitHub commented Sep 26, 2024

When we are compiling envoy 1.30.x version using below command on rocky linux 8 which supports 4.18 kenel version, we are not getting liburing compilation error and we are able to compile envoy successfully.
bazel --bazelrc=/dev/null build --sandbox_debug --verbose_failures --copt="-DENVOY_IGNORE_GLIBCXX_USE_CXX11_ABI_ERROR=1 -DLLVM_USE_SPLIT_DWARF" --define wasm=disabled --define tcmalloc=disabled --define signal_trace=disabled --config=sizeopt --compilation_mode=fastbuild --copt=-Wno-error=maybe-uninitialized //source/exe:envoy-static.stripped

When we are compiling envoy 1.31.x version using above command on rocky linux 8 which supports 4.18 kenel version, we are getting liburing compilation error and we are not able to compile envoy successfully. We are getting liburing compilation error. I am having below queries

  1. 1.30.x was not using liburing library?
  2. Is there any changes done in 1.31.x for using liburing library?
  3. As per my understanding kernel version greater than 5.1 use liburing library so how the operating system which are having kernel version lesser than 5.0?
@Gaurav0411GitHub Gaurav0411GitHub added the triage Issue requires triage label Sep 26, 2024
@Gaurav0411GitHub
Copy link
Author

@phlax , Thanks in advance for your reply

@phlax
Copy link
Member

phlax commented Sep 26, 2024

hi @Gaurav0411GitHub my response is that the supported way to build is using the envoy build image - ie ci/run_envoy_docker.sh

it should be possible to build in other environments - and where necessary we will take patches to facilitate that - but we provide a build image for precisely this reason - so that others can build with reasonable confidence on any platform that supports docker (with some qualifications about kernel versions)

@phlax
Copy link
Member

phlax commented Sep 26, 2024

1.30.x was not using liburing library?

it was

Is there any changes done in 1.31.x for using liburing library?

you would have to check the diffs between the branches

As per my understanding kernel version greater than 5.1 use liburing library so how the operating system which are having kernel version lesser than 5.0?

not sure on specifics wrt liburing kernel versions - i do remember that it required a fairly recent kernel - iirc we could not add it until we updated our vms to ubuntu jammy

@Gaurav0411GitHub
Copy link
Author

I want to use rhel 8.10 (kernel-devel-4.18.0-553.16.1.el8_10.x86_64 ,kernel-headers-4.18.0-553.16.1.el8_10.x86_64), Is envoy 1.31.x version is supported on this above mentioned version?

@phlax
Copy link
Member

phlax commented Sep 27, 2024

io_uring requires a 5.1 kernel

@phlax phlax added question Questions that are neither investigations, bugs, nor enhancements area/build and removed triage Issue requires triage labels Sep 27, 2024
@Gaurav0411GitHub
Copy link
Author

Gaurav0411GitHub commented Sep 28, 2024

Thanks for your reply,
I understood io_uring requires 5.1 kernel.
I am using the below command to compile on Rocky Linux 8.
bazel --bazelrc=/dev/null build --sandbox_debug --verbose_failures --copt="-DENVOY_IGNORE_GLIBCXX_USE_CXX11_ABI_ERROR=1 -DLLVM_USE_SPLIT_DWARF" --define wasm=disabled --define tcmalloc=disabled --define signal_trace=disabled --config=sizeopt --compilation_mode=fastbuild --copt=-Wno-error=maybe-uninitialized //source/exe:envoy-static.stripped
Is there any way to avoid io_uring in envoy compilation?
or we will not be able to compile envoy 1.31.x without io_uring?

@Gaurav0411GitHub
Copy link
Author

@phlax @timperrett @pjjw @mkbehr Thanks is advance for the answer of above question

@phlax
Copy link
Member

phlax commented Oct 7, 2024

Is there any way to avoid io_uring in envoy compilation?

not atm i think - the current select to determine inclusion only checks the platform is linux - a flag could be added to disable this

@Gaurav0411GitHub
Copy link
Author

Can we expect this kind of flag to disable somewhere in 1.32.x?

@phlax
Copy link
Member

phlax commented Oct 7, 2024

it doesnt exist atm - someone would need to add it

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/build question Questions that are neither investigations, bugs, nor enhancements
Projects
None yet
Development

No branches or pull requests

2 participants