diff mbox series

[1/2] travis.yml: Add missing clang-10 package to the 'Clang (disable-tcg)' job

Message ID 20230414210645.820204-1-vaibhav@linux.ibm.com
State New
Headers show
Series [1/2] travis.yml: Add missing clang-10 package to the 'Clang (disable-tcg)' job | expand

Commit Message

Vaibhav Jain April 14, 2023, 9:06 p.m. UTC
Since commit 74a1b256d775("configure: Bump minimum Clang version to 10.0") qemu
needs Clang version 10.0 as the minimum version to build qemu with
Clang. However 'focal' ships by default with Clang version 7.0.0 which causes an
error while executing the 'Clang (disable-tcg)' travis job of the form below:

<snip>
$clang --version

clang version 7.0.0 (tags/RELEASE_700/final)

<snip>
 ERROR: You need at least GCC v7.4 or Clang v10.0 (or XCode Clang v12.0)

 # QEMU configure log Fri 14 Apr 2023 03:48:22 PM UTC

 # Configured with: '../configure' '--disable-docs' '--disable-tools'
 '--disable-containers' '--disable-tcg' '--enable-kvm' '--disable-tools'
 '--enable-fdt=system' '--host-cc=clang' '--cxx=clang++'

Fix this by adding 'clang-10' to the 'apt_packages' section of the "[s390x]
Clang (disable-tcg)" job and updating the compiler to 'clang-10'.

Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
---
 .travis.yml | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Thomas Huth April 17, 2023, 7:36 a.m. UTC | #1
On 14/04/2023 23.06, Vaibhav Jain wrote:
> Since commit 74a1b256d775("configure: Bump minimum Clang version to 10.0") qemu
> needs Clang version 10.0 as the minimum version to build qemu with
> Clang. However 'focal' ships by default with Clang version 7.0.0 which causes an
> error while executing the 'Clang (disable-tcg)' travis job of the form below:
> 
> <snip>
> $clang --version
> 
> clang version 7.0.0 (tags/RELEASE_700/final)
> 
> <snip>
>   ERROR: You need at least GCC v7.4 or Clang v10.0 (or XCode Clang v12.0)
> 
>   # QEMU configure log Fri 14 Apr 2023 03:48:22 PM UTC
> 
>   # Configured with: '../configure' '--disable-docs' '--disable-tools'
>   '--disable-containers' '--disable-tcg' '--enable-kvm' '--disable-tools'
>   '--enable-fdt=system' '--host-cc=clang' '--cxx=clang++'
> 
> Fix this by adding 'clang-10' to the 'apt_packages' section of the "[s390x]
> Clang (disable-tcg)" job and updating the compiler to 'clang-10'.
> 
> Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
> ---
>   .travis.yml | 3 ++-
>   1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/.travis.yml b/.travis.yml
> index cf088ba4cf..11894eb810 100644
> --- a/.travis.yml
> +++ b/.travis.yml
> @@ -243,7 +243,7 @@ jobs:
>       - name: "[s390x] Clang (disable-tcg)"
>         arch: s390x
>         dist: focal
> -      compiler: clang
> +      compiler: clang-10
>         addons:
>           apt_packages:
>             - libaio-dev
> @@ -269,6 +269,7 @@ jobs:
>             - libvdeplug-dev
>             - libvte-2.91-dev
>             - ninja-build
> +          - clang-10

Are you sure about this one? It works for me:

  https://app.travis-ci.com/github/huth/qemu/jobs/600292740

Also, Clang v10 seems to be the default version in Focal:

  https://packages.ubuntu.com/focal/clang

So how did you end up with Clang v7.0 in your run?

  Thomas


PS: We should maybe rather update the Travis jobs to Jammy nowadays instead.
Vaibhav Jain April 17, 2023, 2:11 p.m. UTC | #2
Hi Thomas,
Thanks for reviewing this patch. My responses inline below:


Thomas Huth <thuth@redhat.com> writes:

> On 14/04/2023 23.06, Vaibhav Jain wrote:
>> Since commit 74a1b256d775("configure: Bump minimum Clang version to 10.0") qemu
>> needs Clang version 10.0 as the minimum version to build qemu with
>> Clang. However 'focal' ships by default with Clang version 7.0.0 which causes an
>> error while executing the 'Clang (disable-tcg)' travis job of the form below:
>> 
>> <snip>
>> $clang --version
>> 
>> clang version 7.0.0 (tags/RELEASE_700/final)
>> 
>> <snip>
>>   ERROR: You need at least GCC v7.4 or Clang v10.0 (or XCode Clang v12.0)
>> 
>>   # QEMU configure log Fri 14 Apr 2023 03:48:22 PM UTC
>> 
>>   # Configured with: '../configure' '--disable-docs' '--disable-tools'
>>   '--disable-containers' '--disable-tcg' '--enable-kvm' '--disable-tools'
>>   '--enable-fdt=system' '--host-cc=clang' '--cxx=clang++'
>> 
>> Fix this by adding 'clang-10' to the 'apt_packages' section of the "[s390x]
>> Clang (disable-tcg)" job and updating the compiler to 'clang-10'.
>> 
>> Signed-off-by: Vaibhav Jain <vaibhav@linux.ibm.com>
>> ---
>>   .travis.yml | 3 ++-
>>   1 file changed, 2 insertions(+), 1 deletion(-)
>> 
>> diff --git a/.travis.yml b/.travis.yml
>> index cf088ba4cf..11894eb810 100644
>> --- a/.travis.yml
>> +++ b/.travis.yml
>> @@ -243,7 +243,7 @@ jobs:
>>       - name: "[s390x] Clang (disable-tcg)"
>>         arch: s390x
>>         dist: focal
>> -      compiler: clang
>> +      compiler: clang-10
>>         addons:
>>           apt_packages:
>>             - libaio-dev
>> @@ -269,6 +269,7 @@ jobs:
>>             - libvdeplug-dev
>>             - libvte-2.91-dev
>>             - ninja-build
>> +          - clang-10
>
> Are you sure about this one? It works for me:
>
>   https://app.travis-ci.com/github/huth/qemu/jobs/600292740
>
> Also, Clang v10 seems to be the default version in Focal:
>
>   https://packages.ubuntu.com/focal/clang

Travis documentation at [1] mentions clang 7.0.0 to be the default
compiler for Ubuntu 20.04 (Focal and Jammy). That is what I see in my travis
environment also with Focal.

[1] -
https://docs.travis-ci.com/user/reference/focal/#environment-common-to-all-ubuntu-2004-images

>
> So how did you end up with Clang v7.0 in your run?
Running this job on an internal Travis CI Enterprise instance.

I see the build info reported by app.travis-ci.com for focal is
different from what I am seeing for "focal" distro indicating different
builder images being used.

app.travis-ci.com
=================
Build system information
Build language: c
Build dist: focal
<snip>
Runtime kernel version: 5.4.0-139-generic
travis-build version: cb95e04b
Thu Nov 24 13:57:30 UTC 2022

Operating System Details
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.5 LTS
Release:	20.04
Codename:	focal


Travis Enterprise 
==================
Build system information
Build language: c
Build group: stable
Build dist: focal
<snip>
Runtime kernel version: 4.19.86
Build image provisioning date and time
Tue 14 Feb 2023 01:48:02 PM UTC

Operating System Details
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.5 LTS
Release:	20.04
Codename:	focal

>
>   Thomas
>
>
> PS: We should maybe rather update the Travis jobs to Jammy nowadays instead.
Yes, that can be another way to address this. However depends on
availablity of Jammy image on the Travis Enterprise instance. Right now
we dont have support for it in our Travis Enterprise instance.

IMHO if workaround exists for 'Focal' then it should be used
unless it becomes too much of an effort to keep using 'Focal'.
Thomas Huth April 17, 2023, 2:19 p.m. UTC | #3
On 17/04/2023 16.11, Vaibhav Jain wrote:
> Hi Thomas,
> Thanks for reviewing this patch. My responses inline below:
...
> Travis documentation at [1] mentions clang 7.0.0 to be the default
> compiler for Ubuntu 20.04 (Focal and Jammy). That is what I see in my travis
> environment also with Focal.
> 
> [1] -
> https://docs.travis-ci.com/user/reference/focal/#environment-common-to-all-ubuntu-2004-images
> 
>>
>> So how did you end up with Clang v7.0 in your run?
> Running this job on an internal Travis CI Enterprise instance.
> 
> I see the build info reported by app.travis-ci.com for focal is
> different from what I am seeing for "focal" distro indicating different
> builder images being used.

OK, thanks for the explanation, that makes sense now. I'll queue your patch 
for my next pull request.

>> PS: We should maybe rather update the Travis jobs to Jammy nowadays instead.
> Yes, that can be another way to address this. However depends on
> availablity of Jammy image on the Travis Enterprise instance. Right now
> we dont have support for it in our Travis Enterprise instance.

I gave it a try now in the public Travis instance, too, but it apparently 
also does not work there yet. So never mind, updating to Jammy is not an 
option yet.

  Thomas
diff mbox series

Patch

diff --git a/.travis.yml b/.travis.yml
index cf088ba4cf..11894eb810 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -243,7 +243,7 @@  jobs:
     - name: "[s390x] Clang (disable-tcg)"
       arch: s390x
       dist: focal
-      compiler: clang
+      compiler: clang-10
       addons:
         apt_packages:
           - libaio-dev
@@ -269,6 +269,7 @@  jobs:
           - libvdeplug-dev
           - libvte-2.91-dev
           - ninja-build
+          - clang-10
       env:
         - TEST_CMD="make check-unit"
         - CONFIG="--disable-containers --disable-tcg --enable-kvm --disable-tools