diff mbox series

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

Message ID 20190618122746.61310-3-guillaume.tucker@collabora.com (mailing list archive)
State New, archived
Headers show
Series Use C11 atomics | expand

Commit Message

Guillaume Tucker June 18, 2019, 12:27 p.m. UTC
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.

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(-)

Comments

Ser, Simon June 19, 2019, 6:50 a.m. UTC | #1
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?

> 
> 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)' \
Guillaume Tucker June 19, 2019, 8:09 a.m. UTC | #2
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)' \
diff mbox series

Patch

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)' \