build fails with libcamera (git-ddb5e9d3) on ubuntu
- PipeWire version : master 62660c1e
- Distribution and distribution version (
PRETTY_NAME
from/etc/os-release
): ubuntu 20.04 - Desktop Environment: gnome
- gcc : 9.3.0 or 7.50 or any
Description of Problem:
Snippet from https://launchpadlibrarian.net/573862647/buildlog_ubuntu-focal-amd64.pipewire_0.3.41-1~ubuntu20.04_BUILDING.txt.gz
[224/743] c++ -Ispa/plugins/libcamera/libspa-libcamera.so.p -Ispa/plugins/libcamera -I../spa/plugins/libcamera -Ispa/include -I../spa/include -I/usr/include/libcamera -I/usr/include/libdrm -flto=4 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -fvisibility=hidden -Werror=suggest-attribute=format -Wsign-compare -Wpointer-arith -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wunused-result -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-manager.cpp.o -MF spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-manager.cpp.o.d -o spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-manager.cpp.o -c ../spa/plugins/libcamera/libcamera-manager.cpp
FAILED: spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-manager.cpp.o
c++ -Ispa/plugins/libcamera/libspa-libcamera.so.p -Ispa/plugins/libcamera -I../spa/plugins/libcamera -Ispa/include -I../spa/include -I/usr/include/libcamera -I/usr/include/libdrm -flto=4 -fdiagnostics-color=always -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wnon-virtual-dtor -Wextra -Wpedantic -fvisibility=hidden -Werror=suggest-attribute=format -Wsign-compare -Wpointer-arith -Wformat -Wformat-security -Wimplicit-fallthrough -Wmissing-braces -Wtype-limits -Wvariadic-macros -Wno-missing-field-initializers -Wno-unused-parameter -Wno-pedantic -Wunused-result -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -pthread -MD -MQ spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-manager.cpp.o -MF spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-manager.cpp.o.d -o spa/plugins/libcamera/libspa-libcamera.so.p/libcamera-manager.cpp.o -c ../spa/plugins/libcamera/libcamera-manager.cpp
In file included from /usr/include/libcamera/libcamera/stream.h:15,
from /usr/include/libcamera/libcamera/camera.h:22,
from ../spa/plugins/libcamera/libcamera-manager.cpp:34:
/usr/include/libcamera/libcamera/color_space.h:61:41: error: ‘optional’ in namespace ‘std’ does not name a template type
61 | static std::string toString(const std::optional<ColorSpace> &colorSpace);
| ^~~~~~~~
/usr/include/libcamera/libcamera/color_space.h:61:36: note: ‘std::optional’ is only available from C++17 onwards
61 | static std::string toString(const std::optional<ColorSpace> &colorSpace);
| ^~~
/usr/include/libcamera/libcamera/color_space.h:61:49: error: expected ‘,’ or ‘...’ before ‘<’ token
61 | static std::string toString(const std::optional<ColorSpace> &colorSpace);
| ^
In file included from /usr/include/libcamera/libcamera/camera.h:22,
from ../spa/plugins/libcamera/libcamera-manager.cpp:34:
/usr/include/libcamera/libcamera/stream.h:51:7: error: ‘optional’ in namespace ‘std’ does not name a template type
51 | std::optional<ColorSpace> colorSpace;
| ^~~~~~~~
/usr/include/libcamera/libcamera/stream.h:51:2: note: ‘std::optional’ is only available from C++17 onwards
51 | std::optional<ColorSpace> colorSpace;
| ^~~
[225/743] cc -o spa/plugins/volume/libspa-volume.so spa/plugins/volume/libspa-volume.so.p/volume.c.o spa/plugins/volume/libspa-volume.so.p/plugin.c.o -flto -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libspa-volume.so -Wl,--end-group -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2
[226/743] cc -o spa/plugins/vulkan/libspa-vulkan.so spa/plugins/vulkan/libspa-vulkan.so.p/plugin.c.o spa/plugins/vulkan/libspa-vulkan.so.p/vulkan-compute-source.c.o spa/plugins/vulkan/libspa-vulkan.so.p/vulkan-utils.c.o -flto -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libspa-vulkan.so -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 /usr/lib/x86_64-linux-gnu/libvulkan.so -lm -Wl,--end-group
[227/743] cc -o spa/plugins/v4l2/libspa-v4l2.so spa/plugins/v4l2/libspa-v4l2.so.p/v4l2.c.o spa/plugins/v4l2/libspa-v4l2.so.p/v4l2-device.c.o spa/plugins/v4l2/libspa-v4l2.so.p/v4l2-udev.c.o spa/plugins/v4l2/libspa-v4l2.so.p/v4l2-source.c.o -flto -Wl,--as-needed -Wl,--no-undefined -shared -fPIC -Wl,--start-group -Wl,-soname,libspa-v4l2.so -Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 /lib/x86_64-linux-gnu/libudev.so -Wl,--end-group
ninja: build stopped: subcommand failed.
After libcamra commit https://git.linuxtv.org/libcamera.git/commit/?id=ddb5e9d37e05ec85da26aaf8be0442a5ca34280b build failure is occurring.
libcamera was build with option
--libexecdir=lib/x86_64-linux-gnu \
-Dauto_features=enabled \
-Dwerror=false \
-Db_pie=true \
-Dv4l2=true \
PipeWire is set to build with option:
-Daudiotestsrc=enabled \
-Dauto_features=enabled \
-Db_lto=true \
-Db_pie=true \
-Dlibcamera=enabled \
-Ddocs=enabled \
-Dexamples=enabled \
-Dinstalled_tests=enabled \
-Dman=enabled \
-Dtest=enabled \
-Dvideotestsrc=enabled \
-Dvolume=enabled \
-Dvulkan=enabled \
-Droc=enabled \
-Dsession-managers= \
How Reproducible:
At building time
Steps to Reproduce:
- Install libcamera build with above option enabled.
- Now try to build PipeWire with above option enabled.
- You can see those errors.
Actual Results:
Build fails.
Expected Results:
Should successfully build.
Extra info :
I Was trying to reproduce the same on my arch install but unfortunately couldn't. Then where is the problem ?