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

Document the required glibc version for wide compatibilty #70

Open
leogr opened this issue Feb 16, 2022 · 27 comments
Open

Document the required glibc version for wide compatibilty #70

leogr opened this issue Feb 16, 2022 · 27 comments
Assignees
Labels
help wanted Extra attention is needed kind/documentation Improvements or additions to documentation

Comments

@leogr
Copy link
Member

leogr commented Feb 16, 2022

What to document

Plugins authors must build their plugins using the same glibs version we use in Falco. We have to document that.

/cc @jasondellaluce

@leogr leogr added the kind/documentation Improvements or additions to documentation label Feb 16, 2022
@alban
Copy link
Contributor

alban commented Feb 17, 2022

Thanks! FYI, I use the following Dockerfile to ensure that I have the same glibc as the one in Falco:

# Use the same base image as falco to ensure compatibility with glibc version
FROM golang:buster as builder

# Cache go modules so they won't be downloaded at each build
COPY go.mod go.sum /src/
RUN cd /src && go mod download

COPY ./ /src
RUN cd /src && make -C falco-plugin

# Use the following command to get the built files:
# DOCKER_BUILDKIT=1 docker build -f falco-plugin/Dockerfile --output=falco-plugin/ .
FROM scratch AS deploy-source
COPY --from=builder /src/falco-plugin/*.so /

@leogr
Copy link
Member Author

leogr commented Feb 17, 2022

Btw, to build and publish our plugins, we currently use this 👇
https://github.com/falcosecurity/test-infra/blob/master/images/build-plugins/Dockerfile#L6

@poiana
Copy link
Contributor

poiana commented May 18, 2022

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@jasondellaluce
Copy link
Contributor

/remove-lifecycle stale

@poiana
Copy link
Contributor

poiana commented Aug 19, 2022

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member Author

leogr commented Aug 19, 2022

/remove-lifecycle stale

@falcosecurity/falco-maintainers Shall we do the same for Falco?

@poiana
Copy link
Contributor

poiana commented Nov 17, 2022

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member Author

leogr commented Nov 23, 2022

/remove-lifecycle stal

@leogr
Copy link
Member Author

leogr commented Nov 23, 2022

cc @vjjmiras

@poiana
Copy link
Contributor

poiana commented Dec 23, 2022

Stale issues rot after 30d of inactivity.

Mark the issue as fresh with /remove-lifecycle rotten.

Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle rotten

@vjjmiras
Copy link

/remove-lifecycle rotten

@vjjmiras
Copy link

cc @vjjmiras

I wasn't aware of this issue. I'll take care of it.

@poiana
Copy link
Contributor

poiana commented Mar 23, 2023

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@FedeDP
Copy link
Contributor

FedeDP commented Mar 23, 2023

/remove-lifecycle stale

@leogr
Copy link
Member Author

leogr commented Apr 27, 2023

/help

cc @therealbobo @Andreagit97

@poiana
Copy link
Contributor

poiana commented Apr 27, 2023

@leogr:
This request has been marked as needing help from a contributor.

Please ensure the request meets the requirements listed here.

If this request no longer meets these requirements, the label can be removed
by commenting with the /remove-help command.

In response to this:

/help

cc @therealbobo @Andreagit97

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@poiana poiana added the help wanted Extra attention is needed label Apr 27, 2023
@poiana
Copy link
Contributor

poiana commented Jul 26, 2023

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@poiana
Copy link
Contributor

poiana commented Aug 25, 2023

Stale issues rot after 30d of inactivity.

Mark the issue as fresh with /remove-lifecycle rotten.

Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle rotten

@Andreagit97
Copy link
Member

/remove-lifecycle rotten

@poiana
Copy link
Contributor

poiana commented Nov 23, 2023

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@Andreagit97
Copy link
Member

/remove-lifecycle stale

@leogr
Copy link
Member Author

leogr commented Nov 28, 2023

/assign leogr
/assign LucaGuerra

@poiana
Copy link
Contributor

poiana commented Feb 26, 2024

Issues go stale after 90d of inactivity.

Mark the issue as fresh with /remove-lifecycle stale.

Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

Provide feedback via https://github.com/falcosecurity/community.

/lifecycle stale

@leogr
Copy link
Member Author

leogr commented Feb 29, 2024

/remove-lifecycle stale

@leogr
Copy link
Member Author

leogr commented May 21, 2024

For the record, recently we upgraded golang in our CI, and broke the glibc compatibility.

@LucaGuerra and I are investigating.

@leogr
Copy link
Member Author

leogr commented May 21, 2024

For the record, recently we upgraded golang in our CI, and broke the glibc compatibility.

@LucaGuerra and I are investigating.

Fix: https://github.com/falcosecurity/plugins/pull/497/files

@leogr
Copy link
Member Author

leogr commented May 22, 2024

Update (as discussed with @LucaGuerra):

At the time of writing, Falco requires GLIBC 2.17 or newer (this is, however, not officially documented yet)

For plugins shipped with this repository, based on the current CI builder (using the golang:1.22-bullseye image 👇 ) the minimum guaranteed compatibility is with GLIBC 2.31. However, most plugins need a reduced set of GLIBC symbols and are usually compatible with older versions of GLIBC.

# Upgrading to a newer debian version would make the build process generate
# binaries that require newer GLIBC version so we need to be based on bullseye for now
container: golang:1.22-bullseye

❯ docker run --rm -it golang:1.22-bullseye sh
# /lib/x86_64-linux-gnu/libc.so.6
GNU C Library (Debian GLIBC 2.31-13+deb11u10) stable release version 2.31.
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 10.2.1 20210110.
libc ABIs: UNIQUE IFUNC ABSOLUTE
For bug reporting instructions, please see:
<http://www.debian.org/Bugs/>.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed kind/documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

8 participants