diff mbox series

gitlab-ci: Test building linux-user targets on CentOS 7

Message ID 20210121121505.1523156-1-f4bug@amsat.org
State New
Headers show
Series gitlab-ci: Test building linux-user targets on CentOS 7 | expand

Commit Message

Philippe Mathieu-Daudé Jan. 21, 2021, 12:15 p.m. UTC
Add a configuration tested by Peter Maydell (see [1] and [2])
but not covered in our CI [3]:

  [705/2910] Compiling C object libqemu-arm-linux-user.fa.p/linux-user_strace.c.o
  FAILED: libqemu-arm-linux-user.fa.p/linux-user_strace.c.o
  ../linux-user/strace.c: In function 'do_print_sockopt':
  ../linux-user/strace.c:2831:14: error: 'IPV6_ADDR_PREFERENCES' undeclared (first use in this function)
           case IPV6_ADDR_PREFERENCES:
                ^

[1] https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg05086.html
[2] https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg05379.html
[3] https://gitlab.com/philmd/qemu/-/jobs/977408284:

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
 .gitlab-ci.yml | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Daniel P. Berrangé Jan. 21, 2021, 12:18 p.m. UTC | #1
On Thu, Jan 21, 2021 at 01:15:05PM +0100, Philippe Mathieu-Daudé wrote:
> Add a configuration tested by Peter Maydell (see [1] and [2])
> but not covered in our CI [3]:
> 
>   [705/2910] Compiling C object libqemu-arm-linux-user.fa.p/linux-user_strace.c.o
>   FAILED: libqemu-arm-linux-user.fa.p/linux-user_strace.c.o
>   ../linux-user/strace.c: In function 'do_print_sockopt':
>   ../linux-user/strace.c:2831:14: error: 'IPV6_ADDR_PREFERENCES' undeclared (first use in this function)
>            case IPV6_ADDR_PREFERENCES:
>                 ^

Yes, makes sense as centos is our oldest distro and thus likely
to see issues missed from newer OS distros.

> 
> [1] https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg05086.html
> [2] https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg05379.html
> [3] https://gitlab.com/philmd/qemu/-/jobs/977408284:
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  .gitlab-ci.yml | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
> index 203b1671c43..ce52d6cb2cb 100644
> --- a/.gitlab-ci.yml
> +++ b/.gitlab-ci.yml
> @@ -378,6 +378,13 @@ build-user-plugins:
>      MAKE_CHECK_ARGS: check-tcg
>    timeout: 1h 30m
>  
> +build-user-centos7:
> +  <<: *native_build_job_definition
> +  variables:
> +    IMAGE: centos7
> +    CONFIGURE_ARGS: --disable-system --disable-tools --disable-docs
> +    MAKE_CHECK_ARGS: check-tcg
> +

Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>



Regards,
Daniel
Philippe Mathieu-Daudé Jan. 21, 2021, 1:14 p.m. UTC | #2
On 1/21/21 1:15 PM, Philippe Mathieu-Daudé wrote:
> Add a configuration tested by Peter Maydell (see [1] and [2])
> but not covered in our CI [3]:
> 
>   [705/2910] Compiling C object libqemu-arm-linux-user.fa.p/linux-user_strace.c.o
>   FAILED: libqemu-arm-linux-user.fa.p/linux-user_strace.c.o
>   ../linux-user/strace.c: In function 'do_print_sockopt':
>   ../linux-user/strace.c:2831:14: error: 'IPV6_ADDR_PREFERENCES' undeclared (first use in this function)
>            case IPV6_ADDR_PREFERENCES:
>                 ^
> 
> [1] https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg05086.html
> [2] https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg05379.html
> [3] https://gitlab.com/philmd/qemu/-/jobs/977408284:
> 
> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
> ---
>  .gitlab-ci.yml | 7 +++++++
>  1 file changed, 7 insertions(+)

> +build-user-centos7:
> +  <<: *native_build_job_definition
> +  variables:
> +    IMAGE: centos7
> +    CONFIGURE_ARGS: --disable-system --disable-tools --disable-docs
> +    MAKE_CHECK_ARGS: check-tcg

check-tcg calls build-tcg which fails:

  BUILD   TCG tests for x86_64-softmmu
  BUILD   x86_64-softmmu guest-tests with cc
/usr/bin/ld: hello: warning: allocated section `.notes' not in segment
/usr/bin/ld: memory: warning: allocated section `.notes' not in segment
  BUILD   TCG tests for x86_64-linux-user
  BUILD   x86_64-linux-user guest-tests with cc
/usr/bin/ld: cannot find -lpthread
/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status
make[2]: *** [threadcount] Error 1
make[1]: *** [cross-build-guest-tests] Error 2
make: *** [build-tcg-tests-x86_64-linux-user] Error 2

Apparently this is due to the -static flag:

$ gcc  -Wall -Werror -O0 -g -fno-strict-aliasing -m64
tests/tcg/multiarch/threadcount.c -o threadcount  -static -lpthread
/usr/bin/ld: cannot find -lpthread
/usr/bin/ld: cannot find -lc
collect2: error: ld returned 1 exit status

Do we need to install these packages?

glibc-static.i686 : C library static libraries for -static linking.
glibc-static.x86_64 : C library static libraries for -static linking.

Or simply ignore testing?

Thanks,

Phil.
Thomas Huth Jan. 21, 2021, 2:01 p.m. UTC | #3
On 21/01/2021 14.14, Philippe Mathieu-Daudé wrote:
> On 1/21/21 1:15 PM, Philippe Mathieu-Daudé wrote:
>> Add a configuration tested by Peter Maydell (see [1] and [2])
>> but not covered in our CI [3]:
>>
>>    [705/2910] Compiling C object libqemu-arm-linux-user.fa.p/linux-user_strace.c.o
>>    FAILED: libqemu-arm-linux-user.fa.p/linux-user_strace.c.o
>>    ../linux-user/strace.c: In function 'do_print_sockopt':
>>    ../linux-user/strace.c:2831:14: error: 'IPV6_ADDR_PREFERENCES' undeclared (first use in this function)
>>             case IPV6_ADDR_PREFERENCES:
>>                  ^
>>
>> [1] https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg05086.html
>> [2] https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg05379.html
>> [3] https://gitlab.com/philmd/qemu/-/jobs/977408284:
>>
>> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
>> ---
>>   .gitlab-ci.yml | 7 +++++++
>>   1 file changed, 7 insertions(+)
> 
>> +build-user-centos7:
>> +  <<: *native_build_job_definition
>> +  variables:
>> +    IMAGE: centos7
>> +    CONFIGURE_ARGS: --disable-system --disable-tools --disable-docs
>> +    MAKE_CHECK_ARGS: check-tcg

Ok ... just be aware of the fact that we might remove it again in some few 
months, since we then won't support CentOS 7 anymore (RHEL8 has been 
released in May 2019 and according to our support policy we will drop 
support for the previous version two years later, i.e. in May 2021).

> check-tcg calls build-tcg which fails:
> 
>    BUILD   TCG tests for x86_64-softmmu
>    BUILD   x86_64-softmmu guest-tests with cc
> /usr/bin/ld: hello: warning: allocated section `.notes' not in segment
> /usr/bin/ld: memory: warning: allocated section `.notes' not in segment
>    BUILD   TCG tests for x86_64-linux-user
>    BUILD   x86_64-linux-user guest-tests with cc
> /usr/bin/ld: cannot find -lpthread
> /usr/bin/ld: cannot find -lc
> collect2: error: ld returned 1 exit status
> make[2]: *** [threadcount] Error 1
> make[1]: *** [cross-build-guest-tests] Error 2
> make: *** [build-tcg-tests-x86_64-linux-user] Error 2
> 
> Apparently this is due to the -static flag:
> 
> $ gcc  -Wall -Werror -O0 -g -fno-strict-aliasing -m64
> tests/tcg/multiarch/threadcount.c -o threadcount  -static -lpthread
> /usr/bin/ld: cannot find -lpthread
> /usr/bin/ld: cannot find -lc
> collect2: error: ld returned 1 exit status
> 
> Do we need to install these packages?
> 
> glibc-static.i686 : C library static libraries for -static linking.
> glibc-static.x86_64 : C library static libraries for -static linking.
> 
> Or simply ignore testing?

If testing then succeeds, I think I'd prefer to add the package to the 
docker file.

  Thomas
Philippe Mathieu-Daudé Jan. 21, 2021, 6:24 p.m. UTC | #4
On Thu, Jan 21, 2021 at 3:01 PM Thomas Huth <thuth@redhat.com> wrote:
> On 21/01/2021 14.14, Philippe Mathieu-Daudé wrote:
> >> +build-user-centos7:
> >> +  <<: *native_build_job_definition
> >> +  variables:
> >> +    IMAGE: centos7
> >> +    CONFIGURE_ARGS: --disable-system --disable-tools --disable-docs
> >> +    MAKE_CHECK_ARGS: check-tcg
>
> Ok ... just be aware of the fact that we might remove it again in some few
> months, since we then won't support CentOS 7 anymore (RHEL8 has been
> released in May 2019 and according to our support policy we will drop
> support for the previous version two years later, i.e. in May 2021).

I'm not against it, as long as our CI catches the same errors found by
Peter testing
(I suppose Peter will stop testing on his particular machine by May 2021, else
there is another CI gap).

> > check-tcg calls build-tcg which fails:
> >
> >    BUILD   TCG tests for x86_64-softmmu
> >    BUILD   x86_64-softmmu guest-tests with cc
> > /usr/bin/ld: hello: warning: allocated section `.notes' not in segment
> > /usr/bin/ld: memory: warning: allocated section `.notes' not in segment
> >    BUILD   TCG tests for x86_64-linux-user
> >    BUILD   x86_64-linux-user guest-tests with cc
> > /usr/bin/ld: cannot find -lpthread
> > /usr/bin/ld: cannot find -lc
> > collect2: error: ld returned 1 exit status
> > make[2]: *** [threadcount] Error 1
> > make[1]: *** [cross-build-guest-tests] Error 2
> > make: *** [build-tcg-tests-x86_64-linux-user] Error 2
> >
> > Apparently this is due to the -static flag:
> >
> > $ gcc  -Wall -Werror -O0 -g -fno-strict-aliasing -m64
> > tests/tcg/multiarch/threadcount.c -o threadcount  -static -lpthread
> > /usr/bin/ld: cannot find -lpthread
> > /usr/bin/ld: cannot find -lc
> > collect2: error: ld returned 1 exit status
> >
> > Do we need to install these packages?
> >
> > glibc-static.i686 : C library static libraries for -static linking.
> > glibc-static.x86_64 : C library static libraries for -static linking.
> >
> > Or simply ignore testing?
>
> If testing then succeeds, I think I'd prefer to add the package to the
> docker file.

Yes, tests run fine. Sent a v2.
diff mbox series

Patch

diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 203b1671c43..ce52d6cb2cb 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -378,6 +378,13 @@  build-user-plugins:
     MAKE_CHECK_ARGS: check-tcg
   timeout: 1h 30m
 
+build-user-centos7:
+  <<: *native_build_job_definition
+  variables:
+    IMAGE: centos7
+    CONFIGURE_ARGS: --disable-system --disable-tools --disable-docs
+    MAKE_CHECK_ARGS: check-tcg
+
 build-some-softmmu-plugins:
   <<: *native_build_job_definition
   variables: