diff --git a/Example_configs.md b/Example_configs.md index 8a9beecd..c782c30e 100644 --- a/Example_configs.md +++ b/Example_configs.md @@ -233,7 +233,8 @@ ARG rh_password RUN subscription-manager register --username $rh_username --password $rh_password --auto-attach -RUN yum install gcc curl elfutils-libelf-devel kmod make cpio -y +RUN yum install gcc curl elfutils-libelf-devel kmod make \ + llvm-toolset-0:12.0.1-1.module+el8.5.0+11871+08d0eab5.x86_64 cpio -y ``` ## redhat 9 @@ -256,7 +257,7 @@ and Dockerfile.rhel9: ```bash FROM docker.io/redhat/ubi9 -RUN yum install gcc elfutils-libelf-devel kmod make cpio -y +RUN yum install gcc elfutils-libelf-devel kmod make cpio llvm-toolset -y RUN ln -s /usr/bin/$(uname -p)-redhat-linux-gcc-11 /usr/bin/gcc-11 ``` The `ln -s /usr/bin/$(uname -p)-redhat-linux-gcc-11 /usr/bin/gcc-11` command creates a symbolic link which makes sure driverkit finds the correct compiler binary. @@ -275,7 +276,7 @@ ARG REDHAT_PASSWORD RUN subscription-manager register --username $REDHAT_USERNAME --password $REDHAT_PASSWORD --auto-attach -RUN yum install gcc elfutils-libelf-devel kmod make cpio -y +RUN yum install gcc elfutils-libelf-devel kmod make cpio llvm-toolset -y RUN ln -s /usr/bin/$(uname -p)-redhat-linux-gcc-11 /usr/bin/gcc-11 ``` diff --git a/docker/builders/builder-amazonlinux2-x86_64_gcc10.0.0.Dockerfile b/docker/builders/builder-amazonlinux2-x86_64_gcc10.0.0.Dockerfile index 175be4e1..e2563788 100644 --- a/docker/builders/builder-amazonlinux2-x86_64_gcc10.0.0.Dockerfile +++ b/docker/builders/builder-amazonlinux2-x86_64_gcc10.0.0.Dockerfile @@ -6,6 +6,8 @@ LABEL maintainer="cncf-falco-dev@lists.cncf.io" ARG CMAKE_VERSION RUN yum -y install gcc10 \ + clang \ + llvm \ bash-completion \ bc \ ca-certificates \ diff --git a/docker/builders/builder-any-x86_64_gcc10.0.0_gcc9.0.0.Dockerfile b/docker/builders/builder-any-x86_64_gcc10.0.0_gcc9.0.0.Dockerfile index 543f2c16..66fac859 100644 --- a/docker/builders/builder-any-x86_64_gcc10.0.0_gcc9.0.0.Dockerfile +++ b/docker/builders/builder-any-x86_64_gcc10.0.0_gcc9.0.0.Dockerfile @@ -12,6 +12,8 @@ RUN apt-get update \ && apt-get install -y --no-install-recommends \ bash-completion \ bc \ + clang \ + llvm \ ca-certificates \ curl \ dkms \ diff --git a/docker/builders/builder-any-x86_64_gcc12.0.0_gcc11.0.0.Dockerfile b/docker/builders/builder-any-x86_64_gcc12.0.0_gcc11.0.0.Dockerfile index b2182618..d8717673 100644 --- a/docker/builders/builder-any-x86_64_gcc12.0.0_gcc11.0.0.Dockerfile +++ b/docker/builders/builder-any-x86_64_gcc12.0.0_gcc11.0.0.Dockerfile @@ -12,6 +12,8 @@ RUN apt-get update \ && apt-get install -y --no-install-recommends \ bash-completion \ bc \ + clang \ + llvm \ ca-certificates \ curl \ dkms \ diff --git a/docker/builders/builder-any-x86_64_gcc13.0.0.Dockerfile b/docker/builders/builder-any-x86_64_gcc13.0.0.Dockerfile index 02c85e76..fb991fd9 100644 --- a/docker/builders/builder-any-x86_64_gcc13.0.0.Dockerfile +++ b/docker/builders/builder-any-x86_64_gcc13.0.0.Dockerfile @@ -9,6 +9,8 @@ ARG CMAKE_VERSION RUN dnf install -y \ bash-completion \ bc \ + clang \ + llvm \ ca-certificates \ curl \ dkms \ diff --git a/docker/builders/builder-any-x86_64_gcc14.0.0.Dockerfile b/docker/builders/builder-any-x86_64_gcc14.0.0.Dockerfile index 109e85e7..d6ed566e 100644 --- a/docker/builders/builder-any-x86_64_gcc14.0.0.Dockerfile +++ b/docker/builders/builder-any-x86_64_gcc14.0.0.Dockerfile @@ -9,6 +9,8 @@ ARG CMAKE_VERSION RUN dnf install -y \ bash-completion \ bc \ + clang \ + llvm \ ca-certificates \ curl \ dkms \ diff --git a/docker/builders/builder-any-x86_64_gcc8.0.0_gcc6.0.0_gcc5.0.0_gcc4.9.0_gcc4.8.0.Dockerfile b/docker/builders/builder-any-x86_64_gcc8.0.0_gcc6.0.0_gcc5.0.0_gcc4.9.0_gcc4.8.0.Dockerfile index b3a04512..a0c47598 100644 --- a/docker/builders/builder-any-x86_64_gcc8.0.0_gcc6.0.0_gcc5.0.0_gcc4.9.0_gcc4.8.0.Dockerfile +++ b/docker/builders/builder-any-x86_64_gcc8.0.0_gcc6.0.0_gcc5.0.0_gcc4.9.0_gcc4.8.0.Dockerfile @@ -19,6 +19,8 @@ RUN apt-get update \ && apt-get install -y --no-install-recommends \ bash-completion \ bc \ + clang \ + llvm \ ca-certificates \ curl \ dkms \ diff --git a/docker/builders/builder-centos-x86_64_gcc4.8.5.Dockerfile b/docker/builders/builder-centos-x86_64_gcc4.8.5.Dockerfile index 826586fd..e2647ab7 100644 --- a/docker/builders/builder-centos-x86_64_gcc4.8.5.Dockerfile +++ b/docker/builders/builder-centos-x86_64_gcc4.8.5.Dockerfile @@ -18,6 +18,7 @@ RUN sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo; \ sed -i s/^mirrorlist=http/#mirrorlist=https/g /etc/yum.repos.d/*.repo RUN yum -y install gcc \ + llvm-toolset-7.0 \ bash-completion \ bc \ ca-certificates \ @@ -46,3 +47,7 @@ RUN curl -L -o /tmp/cmake.tar.gz https://github.com/Kitware/CMake/releases/downl # Properly create soft link RUN ln -s /usr/bin/gcc /usr/bin/gcc-4.8.5 + +RUN source scl_source enable llvm-toolset-7.0 +RUN echo "source scl_source enable llvm-toolset-7.0" >> /etc/bashrc +RUN source /etc/bashrc diff --git a/docs/builder.md b/docs/builder.md index 2ed6ede6..67d15503 100644 --- a/docs/builder.md +++ b/docs/builder.md @@ -175,6 +175,8 @@ The requested gcc version is then [used to find the correct builder image to be > **NOTE**: when implementing the `builder.GCCVersionRequestor`, returning an empty `semver.Version` means to fallback at default algorithm. +However, there is no mechanism to dynamically choose a clang version, because there should never be any need of touching it. +The build will use the one provided by the chosen builder image. Any failure must be treated as a bug, and reported on [libs](https://github.com/falcosecurity/libs) repository. ### 5. kernel-crawler