diff mbox series

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

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

Commit Message

Guillaume Tucker June 13, 2019, 1:53 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 even though it's already installed as a dependency.

Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
---
 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 14, 2019, 8:08 a.m. UTC | #1
On Thu, 2019-06-13 at 14:53 +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 even though it's already installed as a dependency.
> 
> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>

Reviewed-by: Simon Ser <simon.ser@intel.com>

> ---
>  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..003bb22b3215 100644
> --- a/Dockerfile.debian-arm64
> +++ b/Dockerfile.debian-arm64
> @@ -5,6 +5,7 @@ RUN apt-get install -y \
>  			flex \
>  			bison \
>  			pkg-config \
> +			libatomic1 \
>  			x11proto-dri2-dev \
>  			python-docutils \
>  			valgrind \
> diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> index c67a1e2acf6a..3139927c193a 100644
> --- a/Dockerfile.debian-armhf
> +++ b/Dockerfile.debian-armhf
> @@ -5,6 +5,7 @@ RUN apt-get install -y \
>  			flex \
>  			bison \
>  			pkg-config \
> +			libatomic1 \
>  			x11proto-dri2-dev \
>  			python-docutils \
>  			valgrind \
> 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)' \
Petri Latvala June 14, 2019, 10 a.m. UTC | #2
On Thu, Jun 13, 2019 at 02:53:20PM +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 even though it's already installed as a dependency.
> 
> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> ---
>  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..003bb22b3215 100644
> --- a/Dockerfile.debian-arm64
> +++ b/Dockerfile.debian-arm64
> @@ -5,6 +5,7 @@ RUN apt-get install -y \
>  			flex \
>  			bison \
>  			pkg-config \
> +			libatomic1 \
>  			x11proto-dri2-dev \
>  			python-docutils \
>  			valgrind \
> diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> index c67a1e2acf6a..3139927c193a 100644
> --- a/Dockerfile.debian-armhf
> +++ b/Dockerfile.debian-armhf
> @@ -5,6 +5,7 @@ RUN apt-get install -y \
>  			flex \
>  			bison \
>  			pkg-config \
> +			libatomic1 \


libatomic1 is the runtime lib, for linking you need the package that
contains libatomic.so. That is *quick search*
libgcc-$version-dev. There doesn't seem to be a generic metapackage
for "the latest libgcc-dev", other than... 'gcc'.

Since Debian is acting a bit speshul here I'd just drop the explicit
libatomic installation.



>  			x11proto-dri2-dev \
>  			python-docutils \
>  			valgrind \
> 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 \


Possibly the same comment on fedora but I'm not aware of how they
split their gcc package. Anyway, the file to check for is
'libatomic.so'.
Ser, Simon June 14, 2019, 11:24 a.m. UTC | #3
On Fri, 2019-06-14 at 13:00 +0300, Petri Latvala wrote:
> On Thu, Jun 13, 2019 at 02:53:20PM +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 even though it's already installed as a dependency.
> > 
> > Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> > ---
> >  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..003bb22b3215 100644
> > --- a/Dockerfile.debian-arm64
> > +++ b/Dockerfile.debian-arm64
> > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> >  			flex \
> >  			bison \
> >  			pkg-config \
> > +			libatomic1 \
> >  			x11proto-dri2-dev \
> >  			python-docutils \
> >  			valgrind \
> > diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> > index c67a1e2acf6a..3139927c193a 100644
> > --- a/Dockerfile.debian-armhf
> > +++ b/Dockerfile.debian-armhf
> > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> >  			flex \
> >  			bison \
> >  			pkg-config \
> > +			libatomic1 \
> 
> libatomic1 is the runtime lib, for linking you need the package that
> contains libatomic.so. That is *quick search*
> libgcc-$version-dev. There doesn't seem to be a generic metapackage
> for "the latest libgcc-dev", other than... 'gcc'.
> 
> Since Debian is acting a bit speshul here I'd just drop the explicit
> libatomic installation.

Hmm, I see the .so in libatomic1…

https://packages.debian.org/jessie/amd64/libatomic1/filelist

> 
> 
> >  			x11proto-dri2-dev \
> >  			python-docutils \
> >  			valgrind \
> > 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 \
> 
> Possibly the same comment on fedora but I'm not aware of how they
> split their gcc package. Anyway, the file to check for is
> 'libatomic.so'.
> 
>
Petri Latvala June 14, 2019, 12:43 p.m. UTC | #4
On Fri, Jun 14, 2019 at 02:24:53PM +0300, Ser, Simon wrote:
> On Fri, 2019-06-14 at 13:00 +0300, Petri Latvala wrote:
> > On Thu, Jun 13, 2019 at 02:53:20PM +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 even though it's already installed as a dependency.
> > > 
> > > Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> > > ---
> > >  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..003bb22b3215 100644
> > > --- a/Dockerfile.debian-arm64
> > > +++ b/Dockerfile.debian-arm64
> > > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> > >  			flex \
> > >  			bison \
> > >  			pkg-config \
> > > +			libatomic1 \
> > >  			x11proto-dri2-dev \
> > >  			python-docutils \
> > >  			valgrind \
> > > diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> > > index c67a1e2acf6a..3139927c193a 100644
> > > --- a/Dockerfile.debian-armhf
> > > +++ b/Dockerfile.debian-armhf
> > > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> > >  			flex \
> > >  			bison \
> > >  			pkg-config \
> > > +			libatomic1 \
> > 
> > libatomic1 is the runtime lib, for linking you need the package that
> > contains libatomic.so. That is *quick search*
> > libgcc-$version-dev. There doesn't seem to be a generic metapackage
> > for "the latest libgcc-dev", other than... 'gcc'.
> > 
> > Since Debian is acting a bit speshul here I'd just drop the explicit
> > libatomic installation.
> 
> Hmm, I see the .so in libatomic1…
> 
> https://packages.debian.org/jessie/amd64/libatomic1/filelist


Where? I only see the .so.1 and .so.1.1.0
Ser, Simon June 14, 2019, 12:53 p.m. UTC | #5
On Fri, 2019-06-14 at 15:43 +0300, Petri Latvala wrote:
> On Fri, Jun 14, 2019 at 02:24:53PM +0300, Ser, Simon wrote:
> > On Fri, 2019-06-14 at 13:00 +0300, Petri Latvala wrote:
> > > On Thu, Jun 13, 2019 at 02:53:20PM +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 even though it's already installed as a dependency.
> > > > 
> > > > Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
> > > > ---
> > > >  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..003bb22b3215 100644
> > > > --- a/Dockerfile.debian-arm64
> > > > +++ b/Dockerfile.debian-arm64
> > > > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> > > >  			flex \
> > > >  			bison \
> > > >  			pkg-config \
> > > > +			libatomic1 \
> > > >  			x11proto-dri2-dev \
> > > >  			python-docutils \
> > > >  			valgrind \
> > > > diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
> > > > index c67a1e2acf6a..3139927c193a 100644
> > > > --- a/Dockerfile.debian-armhf
> > > > +++ b/Dockerfile.debian-armhf
> > > > @@ -5,6 +5,7 @@ RUN apt-get install -y \
> > > >  			flex \
> > > >  			bison \
> > > >  			pkg-config \
> > > > +			libatomic1 \
> > > 
> > > libatomic1 is the runtime lib, for linking you need the package that
> > > contains libatomic.so. That is *quick search*
> > > libgcc-$version-dev. There doesn't seem to be a generic metapackage
> > > for "the latest libgcc-dev", other than... 'gcc'.
> > > 
> > > Since Debian is acting a bit speshul here I'd just drop the explicit
> > > libatomic installation.
> > 
> > Hmm, I see the .so in libatomic1…
> > 
> > https://packages.debian.org/jessie/amd64/libatomic1/filelist
> 
> Where? I only see the .so.1 and .so.1.1.0

Bleh, indeed
Guillaume Tucker June 18, 2019, 8:42 a.m. UTC | #6
On 14/06/2019 13:53, Ser, Simon wrote:
> On Fri, 2019-06-14 at 15:43 +0300, Petri Latvala wrote:
>> On Fri, Jun 14, 2019 at 02:24:53PM +0300, Ser, Simon wrote:
>>> On Fri, 2019-06-14 at 13:00 +0300, Petri Latvala wrote:
>>>> On Thu, Jun 13, 2019 at 02:53:20PM +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 even though it's already installed as a dependency.
>>>>>
>>>>> Signed-off-by: Guillaume Tucker <guillaume.tucker@collabora.com>
>>>>> ---
>>>>>  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..003bb22b3215 100644
>>>>> --- a/Dockerfile.debian-arm64
>>>>> +++ b/Dockerfile.debian-arm64
>>>>> @@ -5,6 +5,7 @@ RUN apt-get install -y \
>>>>>  			flex \
>>>>>  			bison \
>>>>>  			pkg-config \
>>>>> +			libatomic1 \
>>>>>  			x11proto-dri2-dev \
>>>>>  			python-docutils \
>>>>>  			valgrind \
>>>>> diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
>>>>> index c67a1e2acf6a..3139927c193a 100644
>>>>> --- a/Dockerfile.debian-armhf
>>>>> +++ b/Dockerfile.debian-armhf
>>>>> @@ -5,6 +5,7 @@ RUN apt-get install -y \
>>>>>  			flex \
>>>>>  			bison \
>>>>>  			pkg-config \
>>>>> +			libatomic1 \
>>>>
>>>> libatomic1 is the runtime lib, for linking you need the package that
>>>> contains libatomic.so. That is *quick search*
>>>> libgcc-$version-dev. There doesn't seem to be a generic metapackage
>>>> for "the latest libgcc-dev", other than... 'gcc'.
>>>>
>>>> Since Debian is acting a bit speshul here I'd just drop the explicit
>>>> libatomic installation.
>>>
>>> Hmm, I see the .so in libatomic1…
>>>
>>> https://packages.debian.org/jessie/amd64/libatomic1/filelist
>>
>> Where? I only see the .so.1 and .so.1.1.0
> 
> Bleh, indeed
So, I've dropped the libatomic1 as it's indeed not required
*except* that it is for non-x86 architectures at run-time with
multi-arch file systems.  I found that when adding ci tests for
mips, as of course it then needs it when running gem_create.  I'm
sending a v3 with this.

Thanks,
Guillaume
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..003bb22b3215 100644
--- a/Dockerfile.debian-arm64
+++ b/Dockerfile.debian-arm64
@@ -5,6 +5,7 @@  RUN apt-get install -y \
 			flex \
 			bison \
 			pkg-config \
+			libatomic1 \
 			x11proto-dri2-dev \
 			python-docutils \
 			valgrind \
diff --git a/Dockerfile.debian-armhf b/Dockerfile.debian-armhf
index c67a1e2acf6a..3139927c193a 100644
--- a/Dockerfile.debian-armhf
+++ b/Dockerfile.debian-armhf
@@ -5,6 +5,7 @@  RUN apt-get install -y \
 			flex \
 			bison \
 			pkg-config \
+			libatomic1 \
 			x11proto-dri2-dev \
 			python-docutils \
 			valgrind \
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)' \