[libcamera-ci,v1] Fix debian 13 build with gcc 13
diff mbox series

Message ID 20250725151920.2711803-1-barnabas.pocze@ideasonboard.com
State Superseded
Headers show
Series
  • [libcamera-ci,v1] Fix debian 13 build with gcc 13
Related show

Commit Message

Barnabás Pőcze July 25, 2025, 3:19 p.m. UTC
Updating the debian 13 container causes linking to fail with gcc 13.
The reason for this is that gcc 13 is not the native compiler, and
the distribution-built packages use gcc 14. So when linking against
gtest or qt6, they will refer to symbols that are not provided by
the gcc 13 libraries.

Fix that by disabling `qcam`, the only user of qt; and forcing meson
to fall back to the wrap dependency for gtest.

Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
---

https://gitlab.freedesktop.org/pobrn/libcamera/-/jobs/81285804

---
 gitlab-ci.yml | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

--
2.50.1

Comments

Barnabás Pőcze July 25, 2025, 3:20 p.m. UTC | #1
Of course it should be "debian 12" not "debian 13"... :(

2025. 07. 25. 17:19 keltezéssel, Barnabás Pőcze írta:
> Updating the debian 13 container causes linking to fail with gcc 13.
> The reason for this is that gcc 13 is not the native compiler, and
> the distribution-built packages use gcc 14. So when linking against
> gtest or qt6, they will refer to symbols that are not provided by
> the gcc 13 libraries.
> 
> Fix that by disabling `qcam`, the only user of qt; and forcing meson
> to fall back to the wrap dependency for gtest.
> 
> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
> ---
> 
> https://gitlab.freedesktop.org/pobrn/libcamera/-/jobs/81285804
> 
> ---
>   gitlab-ci.yml | 4 +++-
>   1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> index 885c1b7..c94ff54 100644
> --- a/gitlab-ci.yml
> +++ b/gitlab-ci.yml
> @@ -65,7 +65,7 @@ include:
>   .libcamera-ci.debian:12:
>     variables:
>       FDO_DISTRIBUTION_VERSION: 'bookworm'
> -    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
> +    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
> 
>   .libcamera-ci.debian:13:
>     variables:
> @@ -224,6 +224,8 @@ build-full:debian:13:
>           MESON_OPTIONS: >-
>             ${MESON_ALL_OPTIONS}
>             -D cpp_std=c++20
> +          -D force_fallback_for=['gtest']
> +          -D qcam=disabled
>         - ARCH: amd64
>           CC: gcc-14
>           CXX: g++-14
> --
> 2.50.1
Barnabás Pőcze July 25, 2025, 3:22 p.m. UTC | #2
Of course it should be "debian 13", not "debian 12"... :(

Please ignore this altogether.


2025. 07. 25. 17:20 keltezéssel, Barnabás Pőcze írta:
> Of course it should be "debian 12" not "debian 13"... :(
> 
> 2025. 07. 25. 17:19 keltezéssel, Barnabás Pőcze írta:
>> Updating the debian 13 container causes linking to fail with gcc 13.
>> The reason for this is that gcc 13 is not the native compiler, and
>> the distribution-built packages use gcc 14. So when linking against
>> gtest or qt6, they will refer to symbols that are not provided by
>> the gcc 13 libraries.
>>
>> Fix that by disabling `qcam`, the only user of qt; and forcing meson
>> to fall back to the wrap dependency for gtest.
>>
>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
>> ---
>>
>> https://gitlab.freedesktop.org/pobrn/libcamera/-/jobs/81285804
>>
>> ---
>>   gitlab-ci.yml | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
>> index 885c1b7..c94ff54 100644
>> --- a/gitlab-ci.yml
>> +++ b/gitlab-ci.yml
>> @@ -65,7 +65,7 @@ include:
>>   .libcamera-ci.debian:12:
>>     variables:
>>       FDO_DISTRIBUTION_VERSION: 'bookworm'
>> -    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
>> +    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
>>
>>   .libcamera-ci.debian:13:
>>     variables:
>> @@ -224,6 +224,8 @@ build-full:debian:13:
>>           MESON_OPTIONS: >-
>>             ${MESON_ALL_OPTIONS}
>>             -D cpp_std=c++20
>> +          -D force_fallback_for=['gtest']
>> +          -D qcam=disabled
>>         - ARCH: amd64
>>           CC: gcc-14
>>           CXX: g++-14
>> -- 
>> 2.50.1
>
Laurent Pinchart July 25, 2025, 3:26 p.m. UTC | #3
On Fri, Jul 25, 2025 at 05:19:20PM +0200, Barnabás Pőcze wrote:
> Updating the debian 13 container causes linking to fail with gcc 13.
> The reason for this is that gcc 13 is not the native compiler, and
> the distribution-built packages use gcc 14. So when linking against
> gtest or qt6, they will refer to symbols that are not provided by
> the gcc 13 libraries.
> 
> Fix that by disabling `qcam`, the only user of qt; and forcing meson
> to fall back to the wrap dependency for gtest.
> 
> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> ---
> 
> https://gitlab.freedesktop.org/pobrn/libcamera/-/jobs/81285804
> 
> ---
>  gitlab-ci.yml | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> index 885c1b7..c94ff54 100644
> --- a/gitlab-ci.yml
> +++ b/gitlab-ci.yml
> @@ -65,7 +65,7 @@ include:
>  .libcamera-ci.debian:12:
>    variables:
>      FDO_DISTRIBUTION_VERSION: 'bookworm'
> -    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
> +    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
> 
>  .libcamera-ci.debian:13:
>    variables:
> @@ -224,6 +224,8 @@ build-full:debian:13:
>          MESON_OPTIONS: >-
>            ${MESON_ALL_OPTIONS}
>            -D cpp_std=c++20
> +          -D force_fallback_for=['gtest']
> +          -D qcam=disabled
>        - ARCH: amd64
>          CC: gcc-14
>          CXX: g++-14
Kieran Bingham July 25, 2025, 3:56 p.m. UTC | #4
Quoting Barnabás Pőcze (2025-07-25 16:22:39)
> Of course it should be "debian 13", not "debian 12"... :(
> 
> Please ignore this altogether.
> 
> 
> 2025. 07. 25. 17:20 keltezéssel, Barnabás Pőcze írta:
> > Of course it should be "debian 12" not "debian 13"... :(
> > 
> > 2025. 07. 25. 17:19 keltezéssel, Barnabás Pőcze írta:
> >> Updating the debian 13 container causes linking to fail with gcc 13.
> >> The reason for this is that gcc 13 is not the native compiler, and
> >> the distribution-built packages use gcc 14. So when linking against
> >> gtest or qt6, they will refer to symbols that are not provided by
> >> the gcc 13 libraries.
> >>
> >> Fix that by disabling `qcam`, the only user of qt; and forcing meson
> >> to fall back to the wrap dependency for gtest.
> >>
> >> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
> >> ---
> >>
> >> https://gitlab.freedesktop.org/pobrn/libcamera/-/jobs/81285804
> >>
> >> ---
> >>   gitlab-ci.yml | 4 +++-
> >>   1 file changed, 3 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
> >> index 885c1b7..c94ff54 100644
> >> --- a/gitlab-ci.yml
> >> +++ b/gitlab-ci.yml
> >> @@ -65,7 +65,7 @@ include:
> >>   .libcamera-ci.debian:12:
> >>     variables:
> >>       FDO_DISTRIBUTION_VERSION: 'bookworm'
> >> -    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
> >> +    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
> >>

I think this is modifying debian:12 ? is that correct with the above
statements?

> >>   .libcamera-ci.debian:13:
> >>     variables:
> >> @@ -224,6 +224,8 @@ build-full:debian:13:
> >>           MESON_OPTIONS: >-
> >>             ${MESON_ALL_OPTIONS}
> >>             -D cpp_std=c++20
> >> +          -D force_fallback_for=['gtest']
> >> +          -D qcam=disabled
> >>         - ARCH: amd64
> >>           CC: gcc-14
> >>           CXX: g++-14
> >> -- 
> >> 2.50.1
> > 
>
Barnabás Pőcze July 25, 2025, 3:57 p.m. UTC | #5
Hi

2025. 07. 25. 17:56 keltezéssel, Kieran Bingham írta:
> Quoting Barnabás Pőcze (2025-07-25 16:22:39)
>> Of course it should be "debian 13", not "debian 12"... :(
>>
>> Please ignore this altogether.
>>
>>
>> 2025. 07. 25. 17:20 keltezéssel, Barnabás Pőcze írta:
>>> Of course it should be "debian 12" not "debian 13"... :(
>>>
>>> 2025. 07. 25. 17:19 keltezéssel, Barnabás Pőcze írta:
>>>> Updating the debian 13 container causes linking to fail with gcc 13.
>>>> The reason for this is that gcc 13 is not the native compiler, and
>>>> the distribution-built packages use gcc 14. So when linking against
>>>> gtest or qt6, they will refer to symbols that are not provided by
>>>> the gcc 13 libraries.
>>>>
>>>> Fix that by disabling `qcam`, the only user of qt; and forcing meson
>>>> to fall back to the wrap dependency for gtest.
>>>>
>>>> Signed-off-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com>
>>>> ---
>>>>
>>>> https://gitlab.freedesktop.org/pobrn/libcamera/-/jobs/81285804
>>>>
>>>> ---
>>>>    gitlab-ci.yml | 4 +++-
>>>>    1 file changed, 3 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/gitlab-ci.yml b/gitlab-ci.yml
>>>> index 885c1b7..c94ff54 100644
>>>> --- a/gitlab-ci.yml
>>>> +++ b/gitlab-ci.yml
>>>> @@ -65,7 +65,7 @@ include:
>>>>    .libcamera-ci.debian:12:
>>>>      variables:
>>>>        FDO_DISTRIBUTION_VERSION: 'bookworm'
>>>> -    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
>>>> +    FDO_DISTRIBUTION_TAG: '2025-07-25.1'
>>>>
> 
> I think this is modifying debian:12 ? is that correct with the above
> statements?

No it is not, please see version 2.


> 
>>>>    .libcamera-ci.debian:13:
>>>>      variables:
>>>> @@ -224,6 +224,8 @@ build-full:debian:13:
>>>>            MESON_OPTIONS: >-
>>>>              ${MESON_ALL_OPTIONS}
>>>>              -D cpp_std=c++20
>>>> +          -D force_fallback_for=['gtest']
>>>> +          -D qcam=disabled
>>>>          - ARCH: amd64
>>>>            CC: gcc-14
>>>>            CXX: g++-14
>>>> -- 
>>>> 2.50.1
>>>
>>

Patch
diff mbox series

diff --git a/gitlab-ci.yml b/gitlab-ci.yml
index 885c1b7..c94ff54 100644
--- a/gitlab-ci.yml
+++ b/gitlab-ci.yml
@@ -65,7 +65,7 @@  include:
 .libcamera-ci.debian:12:
   variables:
     FDO_DISTRIBUTION_VERSION: 'bookworm'
-    FDO_DISTRIBUTION_TAG: '2025-02-27.1'
+    FDO_DISTRIBUTION_TAG: '2025-07-25.1'

 .libcamera-ci.debian:13:
   variables:
@@ -224,6 +224,8 @@  build-full:debian:13:
         MESON_OPTIONS: >-
           ${MESON_ALL_OPTIONS}
           -D cpp_std=c++20
+          -D force_fallback_for=['gtest']
+          -D qcam=disabled
       - ARCH: amd64
         CC: gcc-14
         CXX: g++-14