Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raspberry Pi OS Bookworm - Crowsnest Install Fails #188

Closed
4rianton opened this issue Oct 13, 2023 · 14 comments
Closed

Raspberry Pi OS Bookworm - Crowsnest Install Fails #188

4rianton opened this issue Oct 13, 2023 · 14 comments
Labels
bug Something isn't working

Comments

@4rianton
Copy link

4rianton commented Oct 13, 2023

What happened

Device: Raspberry pi 4 - 4GB, 1x ribbon camera, 1x logitech usb camera
I am setting up a new machine and installing the essential programs using KIUAH on my newly flashed RPi Bookworm setup.

I was successfully able to install Klipper, Moonraker, Mainsail, and Fluidd but crowsnest install fails.

Here is the log:

###### Cloning 'crowsnest' repository ...
Cloning into '/home/pi/crowsnest'...
remote: Enumerating objects: 1451, done.
remote: Counting objects: 100% (1451/1451), done.
remote: Compressing objects: 100% (550/550), done.
remote: Total 1451 (delta 884), reused 1431 (delta 877), pack-reused 0
Receiving objects: 100% (1451/1451), 561.39 KiB | 4.46 MiB/s, done.
Resolving deltas: 100% (884/884), done.

###### Checking for the following dependencies:
● git
● make
[✓ OK] Dependencies already met!
Installer will prompt you for sudo password!

###### Launching crowsnest installer ...
crowsnest - A webcam daemon for multiple cams and stream services.

	Ahoy!
	Thank you for installing crowsnest ;)
	This will take a while ...
	Please reboot after the installation has finished.

Running apt-get update first ...

Hit:1 http://archive.raspberrypi.com/debian bookworm InRelease
Hit:2 http://raspbian.raspberrypi.com/raspbian bookworm InRelease
Reading package lists...
W: http://raspbian.raspberrypi.com/raspbian/dists/bookworm/InRelease: Key is stored in legacy trusted.gpg keyring (/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details.
Running apt-get update first ... [OK]
Installing dependencies ...

Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
git is already the newest version (1:2.39.2-1.1).
crudini is already the newest version (0.9.4-1).
bsdutils is already the newest version (1:2.38.1-5).
findutils is already the newest version (4.9.0-4).
v4l-utils is already the newest version (1.22.1-5).
curl is already the newest version (7.88.1-10+rpi1).
build-essential is already the newest version (12.9).
libevent-dev is already the newest version (2.1.12-stable-8).
libjpeg-dev is already the newest version (1:2.1.5-2).
libbsd-dev is already the newest version (0.11.7-2).
cmake is already the newest version (3.25.1-1).
libavformat-dev is already the newest version (8:5.1.3-1+rpt4).
libavutil-dev is already the newest version (8:5.1.3-1+rpt4).
libavcodec-dev is already the newest version (8:5.1.3-1+rpt4).
libcamera-dev is already the newest version (0.1.0+pi5~0-1).
libcamera-apps-lite is already the newest version (1.2.1-1+bookworm+1).
liblivemedia-dev is already the newest version (2020.01.19-1+build1).
pkg-config is already the newest version (1.8.1-1).
xxd is already the newest version (2:9.0.1378-2).
libssl-dev is already the newest version (3.0.10-1~deb12u1+rpt1).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.
Install dependencies ... [OK]
Reading configuration ...
No user configuration file found ...
Using default configuration ... [OK]
Creating file structure ...
Directory /home/pi/printer_data/config already exists ...
Directory /home/pi/printer_data/logs already exists ...
Directory /home/pi/printer_data/systemd already exists ...
Creating file structure ... [OK]
Link crowsnest to /usr/local/bin ... [OK]
Install service file ... [OK]
Install environment file ... [OK]
Install logrotate configuration ... [OK]
Install crowsnest.conf ... [OK]
Enable crowsnest.service ... [OK]
Add User pi to group 'video' ... [SKIPPED]
	==> User pi is already in group 'video'
Build dependend Stream Apps ...
Cloning ustreamer repository ...
Cloning into 'bin/ustreamer'...
remote: Enumerating objects: 177, done.
remote: Counting objects: 100% (177/177), done.
remote: Compressing objects: 100% (127/127), done.
remote: Total 177 (delta 61), reused 105 (delta 38), pack-reused 0
Receiving objects: 100% (177/177), 176.88 KiB | 2.42 MiB/s, done.
Resolving deltas: 100% (61/61), done.
Cloning camera-streamer repository ...
Cloning into 'bin/camera-streamer'...
remote: Enumerating objects: 153, done.
remote: Counting objects: 100% (153/153), done.
remote: Compressing objects: 100% (140/140), done.
remote: Total 153 (delta 12), reused 78 (delta 5), pack-reused 0
Receiving objects: 100% (153/153), 3.78 MiB | 6.94 MiB/s, done.
Resolving deltas: 100% (12/12), done.
Submodule 'third_party/libdatachannel' (https://github.com/paullouisageneau/libdatachannel.git) registered for path 'third_party/libdatachannel'
Cloning into '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel'...
remote: Enumerating objects: 16751, done.
remote: Counting objects: 100% (1172/1172), done.
remote: Compressing objects: 100% (563/563), done.
remote: Total 16751 (delta 693), reused 951 (delta 578), pack-reused 15579
Receiving objects: 100% (16751/16751), 53.48 MiB | 4.54 MiB/s, done.
Resolving deltas: 100% (10111/10111), done.
Submodule path 'third_party/libdatachannel': checked out '04cf4738961f55ba3f0aa39b4a61342f66bb3781'
Submodule 'deps/json' (https://github.com/nlohmann/json.git) registered for path 'third_party/libdatachannel/deps/json'
Submodule 'deps/libjuice' (https://github.com/paullouisageneau/libjuice.git) registered for path 'third_party/libdatachannel/deps/libjuice'
Submodule 'deps/libsrtp' (https://github.com/cisco/libsrtp.git) registered for path 'third_party/libdatachannel/deps/libsrtp'
Submodule 'deps/plog' (https://github.com/SergiusTheBest/plog.git) registered for path 'third_party/libdatachannel/deps/plog'
Submodule 'deps/usrsctp' (https://github.com/sctplab/usrsctp.git) registered for path 'third_party/libdatachannel/deps/usrsctp'
Cloning into '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/json'...
remote: Enumerating objects: 34798, done.
remote: Counting objects: 100% (348/348), done.
remote: Compressing objects: 100% (208/208), done.
remote: Total 34798 (delta 149), reused 282 (delta 118), pack-reused 34450
Receiving objects: 100% (34798/34798), 175.10 MiB | 7.30 MiB/s, done.
Resolving deltas: 100% (21589/21589), done.
Cloning into '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libjuice'...
remote: Enumerating objects: 3321, done.
remote: Counting objects: 100% (1302/1302), done.
remote: Compressing objects: 100% (339/339), done.
remote: Total 3321 (delta 1020), reused 1147 (delta 958), pack-reused 2019
Receiving objects: 100% (3321/3321), 778.07 KiB | 4.99 MiB/s, done.
Resolving deltas: 100% (2256/2256), done.
Cloning into '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp'...
remote: Enumerating objects: 10275, done.
remote: Counting objects: 100% (1860/1860), done.
remote: Compressing objects: 100% (154/154), done.
remote: Total 10275 (delta 1758), reused 1708 (delta 1706), pack-reused 8415
Receiving objects: 100% (10275/10275), 5.93 MiB | 7.22 MiB/s, done.
Resolving deltas: 100% (5594/5594), done.
Cloning into '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/plog'...
remote: Enumerating objects: 3282, done.
remote: Counting objects: 100% (622/622), done.
remote: Compressing objects: 100% (284/284), done.
remote: Total 3282 (delta 312), reused 550 (delta 270), pack-reused 2660
Receiving objects: 100% (3282/3282), 626.83 KiB | 4.41 MiB/s, done.
Resolving deltas: 100% (1843/1843), done.
Cloning into '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/usrsctp'...
remote: Enumerating objects: 15475, done.
remote: Counting objects: 100% (1322/1322), done.
remote: Compressing objects: 100% (347/347), done.
remote: Total 15475 (delta 1045), reused 1198 (delta 973), pack-reused 14153
Receiving objects: 100% (15475/15475), 6.31 MiB | 3.89 MiB/s, done.
Resolving deltas: 100% (11390/11390), done.
Submodule path 'third_party/libdatachannel/deps/json': checked out '4f8fba14066156b73f1189a2b8bd568bde5284c5'
Submodule path 'third_party/libdatachannel/deps/libjuice': checked out '06bbfe93ab344e95797220d89b55c7204c3ffa9d'
remote: Enumerating objects: 50, done.
remote: Counting objects: 100% (31/31), done.
remote: Total 50 (delta 31), reused 31 (delta 31), pack-reused 19
Unpacking objects: 100% (50/50), 10.87 KiB | 70.00 KiB/s, done.
From https://github.com/cisco/libsrtp
 * branch            90d05bf8980d16e4ac3f16c19b77e296c4bc207b -> FETCH_HEAD
Submodule path 'third_party/libdatachannel/deps/libsrtp': checked out '90d05bf8980d16e4ac3f16c19b77e296c4bc207b'
Submodule path 'third_party/libdatachannel/deps/plog': checked out 'd8461e9d473e59fbcc1f79eee021550dcf81e618'
Submodule path 'third_party/libdatachannel/deps/usrsctp': checked out '7c31bd35c79ba67084ce029511193a19ceb97447'
Build 'ustreamer' using 4 Cores ...
make apps
make[1]: Entering directory '/home/pi/crowsnest/bin/ustreamer'
make -C src
make[2]: Entering directory '/home/pi/crowsnest/bin/ustreamer/src'
-- CC libs/base64.c
-- CC libs/frame.c
-- CC libs/logging.c
-- CC libs/memsink.c
-- CC libs/options.c
-- CC libs/unjpeg.c
-- CC ustreamer/blank.c
-- CC ustreamer/data/blank_jpeg.c
-- CC ustreamer/data/favicon_ico.c
-- CC ustreamer/data/index_html.c
-- CC ustreamer/device.c
-- CC ustreamer/encoder.c
-- CC ustreamer/encoders/cpu/encoder.c
-- CC ustreamer/encoders/hw/encoder.c
-- CC ustreamer/h264.c
-- CC ustreamer/http/bev.c
-- CC ustreamer/http/mime.c
-- CC ustreamer/http/path.c
-- CC ustreamer/http/server.c
-- CC ustreamer/http/static.c
-- CC ustreamer/http/unix.c
-- CC ustreamer/http/uri.c
-- CC ustreamer/m2m.c
-- CC ustreamer/main.c
-- CC ustreamer/options.c
-- CC ustreamer/stream.c
-- CC ustreamer/workers.c
-- CC dump/file.c
-- CC dump/main.c
== LD ustreamer-dump.bin
== LD ustreamer.bin
make[2]: Leaving directory '/home/pi/crowsnest/bin/ustreamer/src'
make[1]: Leaving directory '/home/pi/crowsnest/bin/ustreamer'
Build 'ustreamer' ... [SUCCESS]
Build 'camera-streamer' using 4 Cores ...
fatal: No names found, cannot describe anything.
echo "#define GIT_VERSION \"\"\n#define GIT_REVISION \"ef8f6a4\"" > version.h.tmp; \
	diff -u version.h version.h.tmp || mv version.h.tmp version.h; \
	rm -f version.h.tmp
diff: version.h: No such file or directory
make camera-streamer
make[1]: Entering directory '/home/pi/crowsnest/bin/camera-streamer'
[ -e third_party/libdatachannel/build/Makefile ] || cmake -S third_party/libdatachannel -B third_party/libdatachannel/build
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/buffer.o device/buffer.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/buffer_list.o device/buffer_list.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/buffer_lock.o device/buffer_lock.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/buffer_queue.o device/buffer_queue.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/device.o device/device.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/device_list.o device/device_list.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/links.o device/links.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o output/http_ffmpeg.o output/http_ffmpeg.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o output/http_h264.o output/http_h264.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o output/http_hls.o output/http_hls.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o output/http_jpeg.o output/http_jpeg.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o output/output.o output/output.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o cmd/camera-streamer/http.o cmd/camera-streamer/http.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o cmd/camera-streamer/main.o cmd/camera-streamer/main.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o cmd/camera-streamer/opts.o cmd/camera-streamer/opts.c
-- The CXX compiler identification is GNU 12.2.0
-- Detecting CXX compiler ABI info
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o cmd/list-devices/main.o cmd/list-devices/main.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/camera/camera.o device/camera/camera.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/camera/camera_debug.o device/camera/camera_debug.c
-- Detecting CXX compiler ABI info - done
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/camera/camera_decoder.o device/camera/camera_decoder.c
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/camera/camera_input.o device/camera/camera_input.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/camera/camera_isp.o device/camera/camera_isp.c
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/camera/camera_output.o device/camera/camera_output.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/camera/camera_pipeline.o device/camera/camera_pipeline.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/camera/camera_rescaller.o device/camera/camera_rescaller.c
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/dummy/buffer.o device/dummy/buffer.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/dummy/buffer_list.o device/dummy/buffer_list.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/dummy/device.o device/dummy/device.c
-- The C compiler identification is GNU 12.2.0
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/dummy/dummy.o device/dummy/dummy.c
-- Detecting C compiler ABI info
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/libcamera/fake_camera.o device/libcamera/fake_camera.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/v4l2/buffer.o device/v4l2/buffer.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/v4l2/buffer_list.o device/v4l2/buffer_list.c
-- Detecting C compiler ABI info - done
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/v4l2/debug.o device/v4l2/debug.c
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- No build type selected, using DEBUG
-- Looking for include file sys/queue.h
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/v4l2/device.o device/v4l2/device.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/v4l2/device_list.o device/v4l2/device_list.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/v4l2/device_media.o device/v4l2/device_media.c
-- Looking for include file sys/queue.h - found
-- Looking for include files sys/socket.h, linux/if_addr.h
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/v4l2/device_options.o device/v4l2/device_options.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o device/v4l2/v4l2.o device/v4l2/v4l2.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o util/ffmpeg/remuxer.o util/ffmpeg/remuxer.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o util/http/http.o util/http/http.c
cc -std=gnu17 -MMD -Werror -Wall -g -I/home/pi/crowsnest/bin/camera-streamer -D_GNU_SOURCE -DUSE_HW_H264 -DUSE_FFMPEG -DUSE_LIBCAMERA -I/usr/include/libcamera  -DUSE_RTSP -I/usr/include/liveMedia -I/usr/include/groupsock -I/usr/include/BasicUsageEnvironment -I/usr/include/UsageEnvironment  -DUSE_LIBDATACHANNEL -Ithird_party/libdatachannel/include -Ithird_party/libdatachannel/deps/json/include -c -o util/http/http_methods.o util/http/http_methods.c
-- Looking for include files sys/socket.h, linux/if_addr.h - found
-- Looking for include files sys/socket.h, linux/rtnetlink.h
util/ffmpeg/remuxer.c: In function ‘ffmpeg_remuxer_open’:
util/ffmpeg/remuxer.c:97:33: error: initialization discards ‘const’ qualifier from pointer target type [-Werror=discarded-qualifiers]
   97 |   AVInputFormat *input_format = av_find_input_format(remuxer->input_format);
      |                                 ^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
make[1]: *** [Makefile:92: util/ffmpeg/remuxer.o] Error 1
make[1]: *** Waiting for unfinished jobs....
-- Looking for include files sys/socket.h, linux/rtnetlink.h - found
-- Looking for 4 include files sys/types.h, ..., netinet/ip_icmp.h
-- Looking for 4 include files sys/types.h, ..., netinet/ip_icmp.h - found
-- Looking for 3 include files sys/types.h, ..., net/route.h
-- Looking for 3 include files sys/types.h, ..., net/route.h - found
-- Looking for include file stdatomic.h
-- Looking for include file stdatomic.h - found
-- Looking for usrsctp.h
-- Looking for usrsctp.h - found
-- Performing Test have_sa_len
-- Performing Test have_sa_len - Failed
-- Performing Test have_sin_len
-- Performing Test have_sin_len - Failed
-- Performing Test have_sin6_len
-- Performing Test have_sin6_len - Failed
-- Performing Test have_sconn_len
-- Performing Test have_sconn_len - Failed
-- Performing Test has_wfloat_equal
-- Performing Test has_wfloat_equal - Success
-- Performing Test has_wshadow
-- Performing Test has_wshadow - Success
-- Performing Test has_wpointer_aritih
-- Performing Test has_wpointer_aritih - Success
-- Performing Test has_wunreachable_code
-- Performing Test has_wunreachable_code - Success
-- Performing Test has_winit_self
-- Performing Test has_winit_self - Success
-- Performing Test has_wno_unused_function
-- Performing Test has_wno_unused_function - Success
-- Performing Test has_wno_unused_parameter
-- Performing Test has_wno_unused_parameter - Success
-- Performing Test has_wno_unreachable_code
-- Performing Test has_wno_unreachable_code - Success
-- Performing Test has_wstrict_prototypes
-- Performing Test has_wstrict_prototypes - Success
-- Compiler flags (CMAKE_C_FLAGS):  -std=c99 -pedantic -Wall -Wextra -Wfloat-equal -Wshadow -Wpointer-arith -Wunreachable-code -Winit-self -Wno-unused-function -Wno-unused-parameter -Wno-unreachable-code -Wstrict-prototypes -Werror
-- Performing Test has_wno_address_of_packed_member
-- Performing Test has_wno_address_of_packed_member - Success
-- Performing Test has_wno_deprecated_declarations
-- Performing Test has_wno_deprecated_declarations - Success
-- Looking for arpa/inet.h
-- Looking for arpa/inet.h - found
-- Looking for byteswap.h
-- Looking for byteswap.h - found
-- Looking for inttypes.h
-- Looking for inttypes.h - found
-- Looking for machine/types.h
-- Looking for machine/types.h - not found
-- Looking for netinet/in.h
-- Looking for netinet/in.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stdlib.h
-- Looking for stdlib.h - found
-- Looking for sys/int_types.h
-- Looking for sys/int_types.h - not found
-- Looking for sys/socket.h
-- Looking for sys/socket.h - found
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for unistd.h
-- Looking for unistd.h - found
-- Looking for windows.h
-- Looking for windows.h - not found
-- Looking for winsock2.h
-- Looking for winsock2.h - not found
-- Looking for sigaction
-- Looking for sigaction - found
-- Looking for inet_aton
-- Looking for inet_aton - found
-- Looking for usleep
-- Looking for usleep - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of uint8_t
-- Check size of uint8_t - done
-- Check size of uint16_t
-- Check size of uint16_t - done
-- Check size of uint32_t
-- Check size of uint32_t - done
-- Check size of uint64_t
-- Check size of uint64_t - done
-- Check size of int32_t
-- Check size of int32_t - done
-- Check size of unsigned long
-- Check size of unsigned long - done
-- Check size of unsigned long long
-- Check size of unsigned long long - done
-- Performing Test HAVE_INLINE
-- Performing Test HAVE_INLINE - Success
-- Found OpenSSL: /usr/lib/arm-linux-gnueabihf/libcrypto.so (found version "3.0.10")
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY
-- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR
-- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success
-- Using the single-header code from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/json/single_include/
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build
make -C third_party/libdatachannel/build datachannel-static
make[2]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[3]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[4]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
[  2%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_asconf.c.o
[  2%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/addr.c.o
[  2%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/agent.c.o
[  2%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/srtp/srtp.c.o
[  2%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/crc32.c.o
[  2%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/const_time.c.o
[  4%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/conn.c.o
[  7%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_auth.c.o
[  7%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_bsd_addr.c.o
[  7%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/conn_poll.c.o
[  9%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/cipher/cipher.c.o
[  9%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/conn_thread.c.o
[  9%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_callout.c.o
[  9%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/cipher/cipher_test_cases.c.o
[  9%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/cipher/null_cipher.c.o
[ 12%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/conn_mux.c.o
[ 17%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/cipher/aes_icm_ossl.c.o
[ 17%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_cc_functions.c.o
[ 17%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_crc32.c.o
[ 17%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/base64.c.o
[ 17%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/cipher/aes_gcm_ossl.c.o
[ 17%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_indata.c.o
[ 17%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/hash.c.o
[ 17%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/hash/auth.c.o
[ 19%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/hash/auth_test_cases.c.o
[ 21%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/hmac.c.o
[ 24%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_input.c.o
[ 24%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/hash/null_auth.c.o
[ 26%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/hash/hmac_ossl.c.o
[ 26%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/ice.c.o
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c: In function ‘srtp_hmac_alloc’:
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c:106:5: warning: ‘HMAC_CTX_new’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  106 |     (*a)->state = HMAC_CTX_new();
      |     ^
In file included from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c:54:
/usr/include/openssl/hmac.h:33:33: note: declared here
   33 | OSSL_DEPRECATEDIN_3_0 HMAC_CTX *HMAC_CTX_new(void);
      |                                 ^~~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c: In function ‘srtp_hmac_dealloc’:
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c:136:5: warning: ‘HMAC_CTX_free’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  136 |     HMAC_CTX_free(hmac_ctx);
      |     ^~~~~~~~~~~~~
/usr/include/openssl/hmac.h:35:28: note: declared here
   35 | OSSL_DEPRECATEDIN_3_0 void HMAC_CTX_free(HMAC_CTX *ctx);
      |                            ^~~~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c: In function ‘srtp_hmac_start’:
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c:152:5: warning: ‘HMAC_Init_ex’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  152 |     if (HMAC_Init_ex(state, NULL, 0, NULL, NULL) == 0)
      |     ^~
/usr/include/openssl/hmac.h:43:27: note: declared here
   43 | OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
      |                           ^~~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c: In function ‘srtp_hmac_init’:
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c:164:5: warning: ‘HMAC_Init_ex’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  164 |     if (HMAC_Init_ex(state, key, key_len, EVP_sha1(), NULL) == 0)
      |     ^~
/usr/include/openssl/hmac.h:43:27: note: declared here
   43 | OSSL_DEPRECATEDIN_3_0 int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len,
      |                           ^~~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c: In function ‘srtp_hmac_update’:
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c:179:5: warning: ‘HMAC_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  179 |     if (HMAC_Update(state, message, msg_octets) == 0)
      |     ^~
/usr/include/openssl/hmac.h:45:27: note: declared here
   45 | OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
      |                           ^~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c: In function ‘srtp_hmac_compute’:
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c:205:5: warning: ‘HMAC_Update’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  205 |     if (HMAC_Update(state, message, msg_octets) == 0)
      |     ^~
/usr/include/openssl/hmac.h:45:27: note: declared here
   45 | OSSL_DEPRECATEDIN_3_0 int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data,
      |                           ^~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/deps/libsrtp/crypto/hash/hmac_ossl.c:208:5: warning: ‘HMAC_Final’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  208 |     if (HMAC_Final(state, hash_value, &len) == 0)
      |     ^~
/usr/include/openssl/hmac.h:47:27: note: declared here
   47 | OSSL_DEPRECATEDIN_3_0 int HMAC_Final(HMAC_CTX *ctx, unsigned char *md,
      |                           ^~~~~~~~~~
[ 26%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/kernel/alloc.c.o
[ 26%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/juice.c.o
[ 26%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/kernel/crypto_kernel.c.o
[ 29%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/log.c.o
[ 31%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/kernel/err.c.o
[ 31%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/random.c.o
[ 31%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/kernel/key.c.o
[ 31%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/math/datatypes.c.o
[ 34%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/server.c.o
[ 34%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_output.c.o
[ 36%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/replay/rdb.c.o
[ 36%] Building C object deps/libsrtp/CMakeFiles/srtp2.dir/crypto/replay/rdbx.c.o
[ 36%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_pcb.c.o
[ 36%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/stun.c.o
[ 36%] Linking C static library libsrtp2.a
make[5]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
[ 36%] Built target srtp2
[ 39%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_peeloff.c.o
[ 39%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/timestamp.c.o
[ 39%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_sha1.c.o
[ 41%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/turn.c.o
[ 43%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_ss_functions.c.o
[ 43%] Building C object deps/libjuice/CMakeFiles/juice-static.dir/src/udp.c.o
[ 43%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_sysctl.c.o
[ 43%] Linking C static library libjuice-static.a
[ 43%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_timer.c.o
make[5]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
[ 43%] Built target juice-static
[ 46%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_userspace.c.o
[ 46%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctp_usrreq.c.o
[ 46%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet/sctputil.c.o
[ 48%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/netinet6/sctp6_usrreq.c.o
[ 48%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/user_environment.c.o
[ 48%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/user_mbuf.c.o
[ 51%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/user_recv_thread.c.o
[ 51%] Building C object deps/usrsctp/usrsctplib/CMakeFiles/usrsctp.dir/user_socket.c.o
[ 53%] Linking C static library libusrsctp.a
make[5]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
[ 53%] Built target usrsctp
make[5]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[5]: Entering directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
[ 56%] Building CXX object CMakeFiles/datachannel-static.dir/src/channel.cpp.o
[ 56%] Building CXX object CMakeFiles/datachannel-static.dir/src/configuration.cpp.o
[ 56%] Building CXX object CMakeFiles/datachannel-static.dir/src/datachannel.cpp.o
[ 56%] Building CXX object CMakeFiles/datachannel-static.dir/src/candidate.cpp.o
[ 56%] Building CXX object CMakeFiles/datachannel-static.dir/src/description.cpp.o
[ 58%] Building CXX object CMakeFiles/datachannel-static.dir/src/global.cpp.o
[ 58%] Building CXX object CMakeFiles/datachannel-static.dir/src/message.cpp.o
[ 60%] Building CXX object CMakeFiles/datachannel-static.dir/src/peerconnection.cpp.o
[ 60%] Building CXX object CMakeFiles/datachannel-static.dir/src/rtcpreceivingsession.cpp.o
[ 60%] Building CXX object CMakeFiles/datachannel-static.dir/src/track.cpp.o
[ 63%] Building CXX object CMakeFiles/datachannel-static.dir/src/websocket.cpp.o
[ 63%] Building CXX object CMakeFiles/datachannel-static.dir/src/websocketserver.cpp.o
[ 63%] Building CXX object CMakeFiles/datachannel-static.dir/src/rtppacketizationconfig.cpp.o
[ 65%] Building CXX object CMakeFiles/datachannel-static.dir/src/rtcpsrreporter.cpp.o
[ 65%] Building CXX object CMakeFiles/datachannel-static.dir/src/rtppacketizer.cpp.o
[ 65%] Building CXX object CMakeFiles/datachannel-static.dir/src/opusrtppacketizer.cpp.o
[ 68%] Building CXX object CMakeFiles/datachannel-static.dir/src/opuspacketizationhandler.cpp.o
[ 68%] Building CXX object CMakeFiles/datachannel-static.dir/src/h264rtppacketizer.cpp.o
[ 70%] Building CXX object CMakeFiles/datachannel-static.dir/src/nalunit.cpp.o
[ 70%] Building CXX object CMakeFiles/datachannel-static.dir/src/h264packetizationhandler.cpp.o
[ 70%] Building CXX object CMakeFiles/datachannel-static.dir/src/mediachainablehandler.cpp.o
[ 73%] Building CXX object CMakeFiles/datachannel-static.dir/src/mediahandlerelement.cpp.o
[ 73%] Building CXX object CMakeFiles/datachannel-static.dir/src/mediahandlerrootelement.cpp.o
[ 73%] Building CXX object CMakeFiles/datachannel-static.dir/src/rtcpnackresponder.cpp.o
[ 75%] Building CXX object CMakeFiles/datachannel-static.dir/src/rtp.cpp.o
[ 75%] Building CXX object CMakeFiles/datachannel-static.dir/src/capi.cpp.o
[ 75%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/certificate.cpp.o
[ 78%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/channel.cpp.o
[ 78%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/datachannel.cpp.o
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp: In static member function ‘static rtc::impl::Certificate rtc::impl::Certificate::Generate(rtc::CertificateType, const std::string&)’:
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:241:46: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  241 |                 unique_ptr<EC_KEY, decltype(&EC_KEY_free)> ecc(
      |                                              ^~~~~~~~~~~
In file included from /usr/include/openssl/x509.h:33,
                 from /usr/include/openssl/ssl.h:31,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/tls.hpp:56,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.hpp:24,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:19:
/usr/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:242:45: warning: ‘EC_KEY* EC_KEY_new_by_curve_name(int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  242 |                     EC_KEY_new_by_curve_name(NID_X9_62_prime256v1), EC_KEY_free);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/ec.h:998:31: note: declared here
  998 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:242:80: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  242 |                     EC_KEY_new_by_curve_name(NID_X9_62_prime256v1), EC_KEY_free);
      |                                                                                ^
/usr/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:246:37: warning: ‘void EC_KEY_set_asn1_flag(EC_KEY*, int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  246 |                 EC_KEY_set_asn1_flag(ecc.get(), OPENSSL_EC_NAMED_CURVE); // Set ASN1 OID
      |                 ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/ec.h:1087:28: note: declared here
 1087 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag);
      |                            ^~~~~~~~~~~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:247:41: warning: ‘int EC_KEY_generate_key(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  247 |                 if (!EC_KEY_generate_key(ecc.get()) ||
      |                      ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~
/usr/include/openssl/ec.h:1101:27: note: declared here
 1101 | OSSL_DEPRECATEDIN_3_0 int EC_KEY_generate_key(EC_KEY *key);
      |                           ^~~~~~~~~~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:260:43: warning: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  260 |                 unique_ptr<RSA, decltype(&RSA_free)> rsa(RSA_new(), RSA_free);
      |                                           ^~~~~~~~
In file included from /usr/include/openssl/x509.h:36:
/usr/include/openssl/rsa.h:293:28: note: declared here
  293 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
      |                            ^~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:260:65: warning: ‘RSA* RSA_new()’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  260 |                 unique_ptr<RSA, decltype(&RSA_free)> rsa(RSA_new(), RSA_free);
      |                                                          ~~~~~~~^~
/usr/include/openssl/rsa.h:201:28: note: declared here
  201 | OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
      |                            ^~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:260:77: warning: ‘void RSA_free(RSA*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  260 |                 unique_ptr<RSA, decltype(&RSA_free)> rsa(RSA_new(), RSA_free);
      |                                                                             ^
/usr/include/openssl/rsa.h:293:28: note: declared here
  293 | OSSL_DEPRECATEDIN_3_0 void RSA_free(RSA *r);
      |                            ^~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:266:41: warning: ‘int RSA_generate_key_ex(RSA*, int, BIGNUM*, BN_GENCB*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  266 |                     !RSA_generate_key_ex(rsa.get(), bits, exponent.get(), NULL) ||
      |                      ~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/rsa.h:260:27: note: declared here
  260 | OSSL_DEPRECATEDIN_3_0 int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e,
      |                           ^~~~~~~~~~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.cpp:287:28: warning: ‘int BN_pseudo_rand(BIGNUM*, int, int, int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  287 |             !BN_pseudo_rand(serial_number.get(), serialSize, 0, 0) ||
      |              ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/openssl/params.h:16,
                 from /usr/include/openssl/evp.h:32,
                 from /usr/include/openssl/x509.h:29:
/usr/include/openssl/bn.h:231:5: note: declared here
  231 | int BN_pseudo_rand(BIGNUM *rnd, int bits, int top, int bottom);
      |     ^~~~~~~~~~~~~~
[ 78%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/dtlssrtptransport.cpp.o
[ 80%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/dtlstransport.cpp.o
[ 80%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/icetransport.cpp.o
[ 82%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/init.cpp.o
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/dtlstransport.cpp: In constructor ‘rtc::impl::DtlsTransport::DtlsTransport(std::shared_ptr<rtc::impl::IceTransport>, rtc::impl::certificate_ptr, std::optional<unsigned int>, verifier_callback, rtc::impl::Transport::state_callback)’:
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/dtlstransport.cpp:439:58: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  439 |                 auto ecdh = unique_ptr<EC_KEY, decltype(&EC_KEY_free)>(
      |                                                          ^~~~~~~~~~~
In file included from /usr/include/openssl/x509.h:33,
                 from /usr/include/openssl/ssl.h:31,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/tls.hpp:56,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.hpp:24,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/dtlstransport.hpp:22,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/dtlstransport.cpp:19:
/usr/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/dtlstransport.cpp:440:45: warning: ‘EC_KEY* EC_KEY_new_by_curve_name(int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  440 |                     EC_KEY_new_by_curve_name(NID_X9_62_prime256v1), EC_KEY_free);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/ec.h:998:31: note: declared here
  998 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/dtlstransport.cpp:440:80: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  440 |                     EC_KEY_new_by_curve_name(NID_X9_62_prime256v1), EC_KEY_free);
      |                                                                                ^
/usr/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
[ 82%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/peerconnection.cpp.o
[ 82%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/logcounter.cpp.o
[ 85%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/sctptransport.cpp.o
[ 85%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/threadpool.cpp.o
[ 85%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/tls.cpp.o
[ 87%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/track.cpp.o
[ 87%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/utils.cpp.o
[ 87%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/processor.cpp.o
[ 90%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/sha.cpp.o
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/sha.cpp: In function ‘rtc::binary rtc::impl::{anonymous}::Sha1(const std::byte*, std::size_t)’:
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/sha.cpp:47:18: warning: ‘int SHA1_Init(SHA_CTX*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
   47 |         SHA1_Init(&ctx);
      |         ~~~~~~~~~^~~~~~
In file included from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/sha.cpp:26:
/usr/include/openssl/sha.h:49:27: note: declared here
   49 | OSSL_DEPRECATEDIN_3_0 int SHA1_Init(SHA_CTX *c);
      |                           ^~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/sha.cpp:48:20: warning: ‘int SHA1_Update(SHA_CTX*, const void*, size_t)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
   48 |         SHA1_Update(&ctx, data, size);
      |         ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
/usr/include/openssl/sha.h:50:27: note: declared here
   50 | OSSL_DEPRECATEDIN_3_0 int SHA1_Update(SHA_CTX *c, const void *data, size_t len);
      |                           ^~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/sha.cpp:49:19: warning: ‘int SHA1_Final(unsigned char*, SHA_CTX*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
   49 |         SHA1_Final(reinterpret_cast<unsigned char *>(output.data()), &ctx);
      |         ~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/sha.h:51:27: note: declared here
   51 | OSSL_DEPRECATEDIN_3_0 int SHA1_Final(unsigned char *md, SHA_CTX *c);
      |                           ^~~~~~~~~~
[ 90%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/pollinterrupter.cpp.o
[ 92%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/pollservice.cpp.o
[ 92%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/tcpserver.cpp.o
[ 92%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/tcptransport.cpp.o
[ 95%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/tlstransport.cpp.o
[ 95%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/verifiedtlstransport.cpp.o
[ 95%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/websocket.cpp.o
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/tlstransport.cpp: In constructor ‘rtc::impl::TlsTransport::TlsTransport(std::shared_ptr<rtc::impl::TcpTransport>, std::optional<std::__cxx11::basic_string<char> >, rtc::impl::certificate_ptr, rtc::impl::Transport::state_callback)’:
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/tlstransport.cpp:351:58: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  351 |                 auto ecdh = unique_ptr<EC_KEY, decltype(&EC_KEY_free)>(
      |                                                          ^~~~~~~~~~~
In file included from /usr/include/openssl/x509.h:33,
                 from /usr/include/openssl/ssl.h:31,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/tls.hpp:56,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/certificate.hpp:24,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/tlstransport.hpp:22,
                 from /home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/tlstransport.cpp:19:
/usr/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/tlstransport.cpp:352:45: warning: ‘EC_KEY* EC_KEY_new_by_curve_name(int)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  352 |                     EC_KEY_new_by_curve_name(NID_X9_62_prime256v1), EC_KEY_free);
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
/usr/include/openssl/ec.h:998:31: note: declared here
  998 | OSSL_DEPRECATEDIN_3_0 EC_KEY *EC_KEY_new_by_curve_name(int nid);
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~
/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/src/impl/tlstransport.cpp:352:80: warning: ‘void EC_KEY_free(EC_KEY*)’ is deprecated: Since OpenSSL 3.0 [-Wdeprecated-declarations]
  352 |                     EC_KEY_new_by_curve_name(NID_X9_62_prime256v1), EC_KEY_free);
      |                                                                                ^
/usr/include/openssl/ec.h:1003:28: note: declared here
 1003 | OSSL_DEPRECATEDIN_3_0 void EC_KEY_free(EC_KEY *key);
      |                            ^~~~~~~~~~~
[ 97%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/websocketserver.cpp.o
[ 97%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/wstransport.cpp.o
[ 97%] Building CXX object CMakeFiles/datachannel-static.dir/src/impl/wshandshake.cpp.o
[100%] Linking CXX static library libdatachannel-static.a
make[5]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
[100%] Built target datachannel-static
make[4]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[3]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
make[2]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer/third_party/libdatachannel/build'
rm device/buffer_lock.o device/v4l2/buffer.o output/http_hls.o device/camera/camera_output.o device/v4l2/buffer_list.o device/buffer_queue.o device/buffer.o device/camera/camera_decoder.o device/links.o cmd/list-devices/main.o device/v4l2/debug.o device/camera/camera_input.o device/v4l2/device_options.o output/http_ffmpeg.o device/camera/camera.o device/camera/camera_rescaller.o device/libcamera/fake_camera.o cmd/camera-streamer/main.o device/buffer_list.o device/camera/camera_debug.o util/http/http.o device/camera/camera_pipeline.o device/dummy/buffer_list.o output/http_jpeg.o cmd/camera-streamer/opts.o output/output.o device/v4l2/device_list.o device/device_list.o device/v4l2/device_media.o device/dummy/device.o device/dummy/dummy.o util/http/http_methods.o device/dummy/buffer.o cmd/camera-streamer/http.o device/camera/camera_isp.o device/v4l2/v4l2.o device/device.o device/v4l2/device.o output/http_h264.o
make[1]: Leaving directory '/home/pi/crowsnest/bin/camera-streamer'
make: *** [Makefile:62: all] Error 2
make: *** [Makefile:17: install] Error 2
>>>>>> Something went wrong! Please try again...

What did you expect to happen

that crowsnest installs without issue.

I have tried: reinstalling, deleting the installation, rebooting the pi, and the usual troubleshooting.

How to reproduce

have Raspberry Pi OS Full Bookworm installation, install crowsnest, installation fails.

Additional information

No response

@4rianton 4rianton added the bug Something isn't working label Oct 13, 2023
@4rianton 4rianton changed the title Raspberry Pi OS Bookwork - Crowsnest Install Fails Raspberry Pi OS Bookworm - Crowsnest Install Fails Oct 13, 2023
@mryel00
Copy link
Member

mryel00 commented Oct 13, 2023

The problem is about camera-streamer not building. Crowsnest is still using an old branch of camera-streamer atm. That branch don't get any updates. Also the newest version of camera-streamer doesn't build atm under bookworm too, as you can read in this issue ayufan/camera-streamer#107.
So the current options we offer would be to stay on bullseye or try to use the legacy branch like described here (not tested under bookworm).

@ntressler7
Copy link

I was experiencing the same issue that @4rianton described. I tried everything to get Crowsnest v4 to work with no luck. I ultimately installed v3 and can confirm that it works with Raspberry Pi OS 12 - Bookworm.

@adrianstop
Copy link

I had the same issue as @4rianton, but unlike @ntressler7 I couldn't get the legacy/v3 branch to work with my setup either. Would love for an update to ensure compatibility with Raspi OS Bookworm :)

@KwadFan
Copy link
Member

KwadFan commented Oct 16, 2023

This is influenced by my personal experience and thoughts about that.
I know users, especially new users, grabbing always the latest Software and expect not to face any issues.

So, here are my thoughts about that. You can't expect to have a flawless experience if an underlying OS changes that drastically, like Raspberry Pi OS did.

The major changes that are affecting "us" as a 3D Printer Community are
A) Breaking changes in Libcamera, which camera-streamer heavily relies on.
B) Choices of Devs to leave X11 and replace it with Wayland. This might/will have a huge impact on KlipperScreen,
which by itself always was an 'enemy' of crowsnest because, in some combinations, it leads to more issues than I want to handle/want users to handle.

That said, I highly encourage you to use Bullseye as long as possible.
We (and I as Core Maintainer of MainsailOS and Crowsnest) will not rush here to get compatibility, only to have it.
We ( means I ) will do my best to provide support for it, in the long run, because also MainsailOS has to switch at some point. But this causes more trouble and frustration about choices made by others, than it is fun.

The switch from Buster to Bullseye was kinda disastrous for some crowds out there, I am not willing to do this another time.

Therefore I have to apologize that it isn't working that great currently, but we do this all in our free time to enjoy ourselfs or learn something new. This isn't a paid job and even it seems Crowsnest is the only valid option for our community, @mryel00 and I do our best to put all that developing thingys between a dayjob, family and friends.

I for myself will stay as long as possible on Bullseye based OSes because, I don't like the decisions made by Raspberry Pi Foundation. Bookworm kills every SBC that is older than a 3B+. On other Models is either the CPU not powerful enough or its lacking RAM. 512M is not enought for Bookworm, promised!

To get to an end and not rant any further here, we will provide functionality in Bookworm, but earliest will be to end of this year because there are to many moving parts that have to be addressed first. I can't provide Bookworm support if that means breaking crowsnest for other users. Also I am lacking time for that because of massive changes in my life.
As I said, bookworm will be supported but we won't rush it.. I hope you understand my POV and decisions.

Thanks for your patience, regards Kwad

Edith says: Improved grammar and wording by @mryel00 and rick, thx guys.

@ayufan
Copy link
Contributor

ayufan commented Oct 17, 2023

The bookworm is supported by camera-streamer if installed via prebuilt: https://github.com/ayufan/camera-streamer/releases/tag/v0.2.7.

@Surion79
Copy link

The bookworm is supported by camera-streamer if installed via prebuilt: https://github.com/ayufan/camera-streamer/releases/tag/v0.2.7.

how can i make this work to be recognized by crowsnest? the build script seems to do statically without checking if it is already installed/available.

@mryel00
Copy link
Member

mryel00 commented Oct 24, 2023

how can i make this work to be recognized by crowsnest?

Just install crowsnest like normal, after that is finished (after failing to build camera-streamer), you can just install camera-streamer with the prebuilt package and then create a symlink to ~/crowsnest/bin/camera-streamer/camera-streamer.
So I think the correct command would be ln -s /usr/bin/camera-streamer ~/crowsnest/bin/camera-streamer/camera-streamer to link the installation. After that you would have to add the moonraker entry manually.
Another option would be to use PR #137 or the duplicate #191. Using the PRs won't make it possible to update automatically, but crowsnest would be able to build camera-streamer (at least a high chance that it will work). Also I mentioned some reasons inside both PRs, why we won't just update the branch.
One last thing I should mention is that the copy-paste command of camera-streamer is currently broke. So there will be some problems, if you just want to copy and paste it.

the build script seems to do statically without checking if it is already installed/available.

The installation should be only done once or maybe again when you have some weird errors. So there is no reason to check for already available installations. A check like this will only introduce more error than it's of any use.

@Surion79
Copy link

Surion79 commented Oct 24, 2023

how can i make this work to be recognized by crowsnest?

Just install crowsnest like normal, after that is finished (after failing to build camera-streamer), you can just install camera-streamer with the prebuilt package and then create a symlink to ~/crowsnest/bin/camera-streamer/camera-streamer. So I think the correct command would be ln -s /usr/bin/camera-streamer ~/crowsnest/bin/camera-streamer/camera-streamer to link the installation. Another option would be to use PR #137 or the duplicate #191. Using the PRs won't make it possible to update automatically, but crowsnest would be able to build camera-streamer (at least a high chance that it will work). Also I mentioned some reasons inside both PRs, why we won't just update the branch. One last thing I should mention is that the copy-paste command of camera-streamer is currently broke. So there will be some problems, if you just want to copy and paste it.

the build script seems to do statically without checking if it is already installed/available.

The installation should be only done once or maybe again when you have some weird errors. So there is no reason to check for already available installations. A check like this will only introduce more error than it's of any use.

I looked at the PR and while checking the commit, it seems that the multiple references to the camera-streamer repo is not unified. some point to the -research account and some not :) Guess the last one wins all. I'll try the PR modifications. thanks for the hint to it :)

@pmaersk
Copy link

pmaersk commented Oct 25, 2023

I just tried "sudo make install" on Raspberry newest updated "bookworm" and as described it failed building the camera-streamer. However the fix was easy.

The file ~/crowsnest/bin/camera-streamer/util/ffmpeg/remuxer.c has in line 97 the following:

AVInputFormat *input_format = av_find_input_format(remuxer->input_format);

However since av_find_input_format() is defined as returning a pointer to a "const"

/usr/include/aarch64-linux-gnu/libavformat/avformat.h:const AVInputFormat *av_find_input_format(const char *short_name);

and since the makefile compiles with treat warnings as errors, you need to prepend a "const" to the declaration in that line 97 as shown below:

const AVInputFormat *input_format = av_find_input_format(remuxer->input_format);

I know it is a problem for camera_streamer, but I thought some here may like to know how to fix it.

Regards
Peter Maersk-Moller

Smaller correction. The correct fix is this if you have and older version of LIBAVFORMAT (Bookworm has not)

#if LIBAVFORMAT_VERSION_MAJOR < 59
AVInputFormat *input_format;
#else
const AVInputFormat *input_format;
#endif
input_format = av_find_input_format(remuxer->input_format);

@gjsmo
Copy link

gjsmo commented Oct 31, 2023

For anyone else having this same issue, a better solution I have found is to point the installer to the main repo of camera-streamer. Instead of modifying the source code, this will pull the latest version, which compiles without issue. To do so, make a file tools/.config with the following content:

CROWSNEST_CONFIG_PATH="/home/${BASE_USER}/printer_data/config"
CROWSNEST_LOG_PATH="/home/${BASE_USER}/printer_data/logs"
CROWSNEST_ENV_PATH="/home/${BASE_USER}/printer_data/systemd"
CROWSNEST_USTREAMER_REPO_SHIP="https://github.com/pikvm/ustreamer.git"
CROWSNEST_USTREAMER_REPO_BRANCH="master"
CROWSNEST_CAMERA_STREAMER_REPO_SHIP="https://github.com/ayufan/camera-streamer.git"
CROWSNEST_CAMERA_STREAMER_REPO_BRANCH="main"

@Surion79
Copy link

Surion79 commented Oct 31, 2023 via email

@gjsmo
Copy link

gjsmo commented Nov 1, 2023

@Surion79 The repo I am using is the official ayufan/camera-streamer, however if you do try to go to ayufan-research/camera-streamer you'll find that it's a redirect to the first. As far as options for camera-streamer, I'm sure there's something different but it works just fine on multiple installations.

Regarding the OS version, this isn't necessarily a big deal for people who have a running printer, but it's a very big deal for people installing for the first time. Stock Raspberry Pi OS + KIAUH is a very common installation method, and as of right now that gets you Debian 12 and no working Crowsnest. This is a very bad user experience, especially if the advice is to either install an older version manually or just wait.

@mryel00
Copy link
Member

mryel00 commented Nov 1, 2023

The repo I am using is the official ayufan/camera-streamer, however if you do try to go to ayufan-research/camera-streamer you'll find that it's a redirect to the first.

That's right and this will be fixed with the next update. This was just some oversite but shouldn't change anything in the result.

but it's a very big deal for people installing for the first time. Stock Raspberry Pi OS + KIAUH is a very common installation method, and as of right now that gets you Debian 12 and no working Crowsnest. This is a very bad user experience, especially if the advice is to either install an older version manually or just wait.

We know that it's a bad user experience and it's currently not optimal, especially for non techies. But you have to see it from our viewpoint. We don't want to push anything that could introduce bugs for new users and the same goes for old users. So we have to test every change in the install workflow extensively, as we got 3 different methods of installing:

  1. The normal way of cloning+sudo make install
  2. KIAUH should be nearly the same as 1, but should be tested too, to be sure that there are no weird interactions
  3. CustomPiOS module is a bit more complex and can make problems pretty fast

As far as options for camera-streamer, I'm sure there's something different but it works just fine on multiple installations.

Just an overall change to main branch can introduce problems with parameters as I already mentioned in #137. If we would change it, there might be conflicts with the old version, if we want to provide the "correct" and "full" functionality for both versions. So a quick change of the branch isn't an option for us.

This is opensource, so everyone can contribute to it (at least in a way that suits our plans/ideas) or make their own fork. We are providing this for free and work on this in our free time. We know that this all could be already tested a lot sooner but we had other plans at first that didn't go as we wanted because of some personal stuff.

So @gjsmo as I already told you in #137, I'm already working on it and please just have patience. I know that I don't have to answer on everything coming here, but I feel like some people don't know what we have to consider and test just to make a small patch like this.
For completion I will share my statement about the small patch I'm currently working on here too:

There will be soon an update to main branch, but Bookworm exclusive at first, as Crowsnest fails to build on Bookworm with master branch (#188). As we (more like me) currently think that the Bookworm Raspberry Pi image is more like in a testing phase for the software inside the klipper universe.
So we will only update it for Bookworm that those people with Bookworm can use Crowsnest again. The Bookworm people will be like a testing group for this. We won't release it for Bullseye as we want to do enough testing on it first that we can assure that there aren't any issues like breaking changes or maybe missing features.

P.S. I'm basically doing the last few tests right now

@mryel00
Copy link
Member

mryel00 commented Nov 3, 2023

#195 is now merged into master. So installing on Bookworm should now be possible with kiauh or manually

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

9 participants