| Message ID | 20261012104144.314128-1-denys.f@collabora.com |
|---|---|
| State | Accepted |
| Headers | show |
| Series |
|
| Related | show |
Hi 2026. 10. 12. 12:40 keltezéssel, Denys Fedoryshchenko írta: > Include <array> for std::array to fix builds with libc++ 22 and > _LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1. > > Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com> > --- > Follow-up to the original include fixes after expanding build coverage. > > All C++ source files now compile with Clang/libc++ 22, > -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1 and -Werror, covering all pipelines, > IPAs and optional components. ChromeOS HAL checks used the real headers > and were object-only; qcam also compiles, but linking is blocked by the > host Qt's libstdc++ ABI. > > The build also required a separate <string> include fix in libpisp's > src/helpers/buffer.cpp. Please report that at https://github.com/raspberrypi/libpisp/issues I think it makes sense to squash this into the previous change. But I will do that when merging this, if this gets another tag. Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> > > src/libcamera/pipeline/rpi/common/delayed_controls.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/src/libcamera/pipeline/rpi/common/delayed_controls.h b/src/libcamera/pipeline/rpi/common/delayed_controls.h > index 48ad5a0..0749214 100644 > --- a/src/libcamera/pipeline/rpi/common/delayed_controls.h > +++ b/src/libcamera/pipeline/rpi/common/delayed_controls.h > @@ -9,6 +9,7 @@ > > #pragma once > > +#include <array> > #include <stdint.h> > #include <unordered_map> > #include <utility>
Quoting Barnabás Pőcze (2026-10-12 12:26:51) > Hi > > 2026. 10. 12. 12:40 keltezéssel, Denys Fedoryshchenko írta: > > Include <array> for std::array to fix builds with libc++ 22 and > > _LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1. > > > > Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com> > > --- > > Follow-up to the original include fixes after expanding build coverage. > > > > All C++ source files now compile with Clang/libc++ 22, > > -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1 and -Werror, covering all pipelines, > > IPAs and optional components. ChromeOS HAL checks used the real headers > > and were object-only; qcam also compiles, but linking is blocked by the > > host Qt's libstdc++ ABI. > > > > The build also required a separate <string> include fix in libpisp's > > src/helpers/buffer.cpp. > > Please report that at https://github.com/raspberrypi/libpisp/issues > > I think it makes sense to squash this into the previous change. But > I will do that when merging this, if this gets another tag. I think this is minimal enough that this is safe: Reviewed-by: Kieran Bingham <kieran.bingham@ideasonboard.com> > > Reviewed-by: Barnabás Pőcze <barnabas.pocze@ideasonboard.com> > > > > > > src/libcamera/pipeline/rpi/common/delayed_controls.h | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/src/libcamera/pipeline/rpi/common/delayed_controls.h b/src/libcamera/pipeline/rpi/common/delayed_controls.h > > index 48ad5a0..0749214 100644 > > --- a/src/libcamera/pipeline/rpi/common/delayed_controls.h > > +++ b/src/libcamera/pipeline/rpi/common/delayed_controls.h > > @@ -9,6 +9,7 @@ > > > > #pragma once > > > > +#include <array> > > #include <stdint.h> > > #include <unordered_map> > > #include <utility> >
diff --git a/src/libcamera/pipeline/rpi/common/delayed_controls.h b/src/libcamera/pipeline/rpi/common/delayed_controls.h index 48ad5a0..0749214 100644 --- a/src/libcamera/pipeline/rpi/common/delayed_controls.h +++ b/src/libcamera/pipeline/rpi/common/delayed_controls.h @@ -9,6 +9,7 @@ #pragma once +#include <array> #include <stdint.h> #include <unordered_map> #include <utility>
Include <array> for std::array to fix builds with libc++ 22 and _LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1. Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com> --- Follow-up to the original include fixes after expanding build coverage. All C++ source files now compile with Clang/libc++ 22, -D_LIBCPP_REMOVE_TRANSITIVE_INCLUDES=1 and -Werror, covering all pipelines, IPAs and optional components. ChromeOS HAL checks used the real headers and were object-only; qcam also compiles, but linking is blocked by the host Qt's libstdc++ ABI. The build also required a separate <string> include fix in libpisp's src/helpers/buffer.cpp. src/libcamera/pipeline/rpi/common/delayed_controls.h | 1 + 1 file changed, 1 insertion(+)