Re: [PATCH i-g-t v3 2/4] gitlab-ci: add libatomic to docker images

Guillaume Tucker
2019-06-19T08:09:06Z

On 19/06/2019 07:50, Ser, Simon wrote:
> On Tue, 2019-06-18 at 13:27 +0100, Guillaume Tucker wrote:
>> Add libatomic to the Fedora docker image so it can link binaries that
>> use __atomic_* functions. Also explicitly add libatomic1 to Debian
>> docker images as it is needed in particular on non-x86 architectures
>> for run-time linkage.
>
> Per "[PATCH i-g-t v3 1/4] meson: add libatomic dependency", do we need
> libatomic for all of these images?

I suppose it's safer to include it, so if the linker test in
meson.build does happen to add the dependency it will actually
work. Also as per an earlier comment:

[PATCH i-g-t 2/4] gitlab-ci: add libatomic to Fedora docker image

On 06/06/2019 08:26, Ser, Simon wrote:
>> I wonder how does the libatomic gets installed implicitly in Debian.
> It's a dependency of GCC. Probably a good idea to add it anyway?

It's true that we may optimise this a bit by checking for every
arch whether the test is expected to always pass or not and drop
the libatomic1 sub-arch package for those that link fine without
it. I suspect only the mips version really needs it, the CI jobs
can help us confirm that. Does that seem worth doing?

Guillaume

>> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
>> ---
>>
>> Notes:
>> v2: add libatomic1 in Debian docker images
>> v3: add libatomic1 for non-x86 arches in Debian docker images
>>
>> Dockerfile.debian | 1 +
>> Dockerfile.debian-arm64 | 1 +
>> Dockerfile.debian-armhf | 1 +
>> Dockerfile.fedora | 2 +-
>> 4 files changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/Dockerfile.debian b/Dockerfile.debian
>> index b9c3be3945e0..d23591850c4e 100644
>> --- a/Dockerfile.debian
>> +++ b/Dockerfile.debian
>> @@ -6,6 +6,7 @@ RUN apt-get install -y \
>> flex \
>> bison \
>> pkg-config \
>> + libatomic1 \
>> libpciaccess-dev \
>> libkmod-dev \
>> libprocps-dev \
>> diff --git a/Dockerfile.debian-arm64 b/Dockerfile.debian-arm64
>> index 7b3a3c7ca803..c9fb28c804b8 100644
>> --- a/Dockerfile.debian-arm64
>> +++ b/Dockerfile.debian-arm64
>> @@ -14,6 +14,7 @@ RUN dpkg --add-architecture arm64
>> RUN apt-get update
>> RUN apt-get install -y \
>> gcc-aarch64-linux-gnu \
>> + libatomic1:arm64 \
>> libpciaccess-dev:arm64 \
>> libkmod-dev:arm64 \
>> libprocps-dev:arm64 \
>> diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
>> index c67a1e2acf6a..3a133d849d68 100644
>> --- a/Dockerfile.debian-armhf
>> +++ b/Dockerfile.debian-armhf
>> @@ -14,6 +14,7 @@ RUN dpkg --add-architecture armhf
>> RUN apt-get update
>> RUN apt-get install -y \
>> gcc-arm-linux-gnueabihf \
>> + libatomic1:armhf \
>> libpciaccess-dev:armhf \
>> libkmod-dev:armhf \
>> libprocps-dev:armhf \
>> diff --git a/Dockerfile.fedora b/Dockerfile.fedora
>> index 6686e587613d..c84b412b0723 100644
>> --- a/Dockerfile.fedora
>> +++ b/Dockerfile.fedora
>> @@ -1,7 +1,7 @@
>> FROM fedora:30
>>
>> RUN dnf install -y \
>> - gcc flex bison meson ninja-build xdotool \
>> + gcc flex bison libatomic meson ninja-build xdotool \
>> 'pkgconfig(libdrm)' \
>> 'pkgconfig(pciaccess)' \
>> 'pkgconfig(libkmod)' \