Build Information
Failed to build kubrick, reference 1.1.5 (018556), with Swift 6.4 for Linux on 16 Sep 2026 10:01:25 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-54344844-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1Build Log
========================================
RunAll
========================================
Builder version: 5.1.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/krad/kubrick.git
Reference: 1.1.5
Initialized empty Git repository in /host/spi-builder-workspace/.git/
hint: Using 'master' as the name for the initial branch. This default branch name
hint: is subject to change. To configure the initial branch name to use in all
hint: of your new repositories, which will suppress this warning, call:
hint:
hint: git config --global init.defaultBranch <name>
hint:
hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
hint: 'development'. The just-created branch can be renamed via this command:
hint:
hint: git branch -m <name>
From https://github.com/krad/kubrick
* tag 1.1.5 -> FETCH_HEAD
HEAD is now at 018556f Ok done with that. I think this is better math
Cloned https://github.com/krad/kubrick.git
Revision (git rev-parse @):
018556f5e196ccfde895d27006a56aea3f7f5ed0
SUCCESS checkout https://github.com/krad/kubrick.git at 1.1.5
========================================
Build
========================================
Selected platform: linux
Swift version: 6.4
Building package at path: $PWD
https://github.com/krad/kubrick.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-54344844-1":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest swift build --triple x86_64-unknown-linux-gnu 2>&1
basic-6.4-latest: Pulling from saguaro1/spi-images
Digest: sha256:c77fcce225e223ac0fafed844619173fc6de8d62dd560eeb28db3182af6a282b
Status: Image is up to date for registry.gitlab.com/saguaro1/spi-images:basic-6.4-latest
Fetching https://github.com/krad/grip.git
[1/176] Fetching grip
Fetched https://github.com/krad/grip.git (0.46s)
Computing version for https://github.com/krad/grip.git
Computed https://github.com/krad/grip.git at 1.3.5 (0.66s)
Creating working copy for https://github.com/krad/grip.git
Working copy of https://github.com/krad/grip.git resolved at 1.3.5
Building for debugging...
[Pre-planning 1 / 96]
[34 / 49] grip
[40 / 51] kubrick
error: SwiftCompile normal x86_64 failed with a nonzero exit code. Command line: cd /host
/host/spi-builder-workspace/Sources/kubrick/Helpers/Bytes.swift:104:11: [1;31merror: [1;39mcannot find type 'Data' in scope[0;0m
[0;36m102 |[0;0m }
[0;36m103 |[0;0m
[0;36m104 |[0;0m extension [4;39mData[0;0m {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'Data' in scope[0;0m
[0;36m105 |[0;0m
[0;36m106 |[0;0m var bytes: [UInt8] {
/host/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift:7:16: [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m5 |[0;0m
[0;36m6 |[0;0m extension Rational: Hashable {
[0;36m7 |[0;0m public var hashValue: Int {
[0;36m|[0;0m `- [1;33mwarning: [1;39m'Hashable.hashValue' is deprecated as a protocol requirement; conform type 'Rational' to 'Hashable' by implementing 'hash(into:)' instead[0;0m [#]8;;https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration\DeprecatedDeclaration]8;;\]
[0;36m8 |[0;0m return Int(self.numerator ^ Int64(self.denominator))
[0;36m9 |[0;0m }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:9:23: [1;31merror: [1;39mvalue of type 'Camera' has no member 'update'[0;0m
[0;36m7 |[0;0m
[0;36m8 |[0;0m public var frameRate: Float64 {
[0;36m9 |[0;0m didSet { [4;39mself[0;0m.[4;39mupdate[0;0m(frameRate: self.frameRate) }
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type 'Camera' has no member 'update'[0;0m
[0;36m10 |[0;0m }
[0;36m11 |[0;0m
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:13:23: [1;31merror: [1;39mvalue of type 'Camera' has no member 'update'[0;0m
[0;36m11 |[0;0m
[0;36m12 |[0;0m public var orientation: CameraOrientation = .unknown {
[0;36m13 |[0;0m didSet { [4;39mself[0;0m.[4;39mupdate[0;0m(orientation: self.orientation) }
[0;36m|[0;0m `- [1;31merror: [1;39mvalue of type 'Camera' has no member 'update'[0;0m
[0;36m14 |[0;0m }
[0;36m15 |[0;0m
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift:1:14: [1;31merror: [1;39mtype 'Camera' does not conform to protocol 'MediaDevice'[0;0m
[0;36m1 |[0;0m public class Camera: MediaDevice {
[0;36m|[0;0m |- [1;31merror: [1;39mtype 'Camera' does not conform to protocol 'MediaDevice'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd stubs for conformance[0;0m
[0;36m2 |[0;0m
[0;36m3 |[0;0m public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: [1;39mnote: [1;39mprotocol requires function 'createInput(onCreate:)' with type '(MediaDeviceInputClosure) -> ()' (aka '((any MediaDeviceInput) -> ()) -> ()')[0;0m
[0;36m8 |[0;0m var reader: MediaDeviceReader? { get set }
[0;36m9 |[0;0m
[0;36m10 |[0;0m mutating func createInput(onCreate: MediaDeviceInputClosure)
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires function 'createInput(onCreate:)' with type '(MediaDeviceInputClosure) -> ()' (aka '((any MediaDeviceInput) -> ()) -> ()')[0;0m
[0;36m11 |[0;0m mutating func createOutput(onCreate: MediaDeviceOutputClosure)
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires function 'createOutput(onCreate:)' with type '(MediaDeviceOutputClosure) -> ()' (aka '((any MediaDeviceOutput) -> ()) -> ()')[0;0m
[0;36m12 |[0;0m mutating func set(reader: MediaDeviceReader) throws
[0;36m13 |[0;0m }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Display.swift:1:14: [1;31merror: [1;39mtype 'Display' does not conform to protocol 'MediaDevice'[0;0m
[0;36m1 |[0;0m public class Display: MediaDevice {
[0;36m|[0;0m |- [1;31merror: [1;39mtype 'Display' does not conform to protocol 'MediaDevice'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd stubs for conformance[0;0m
[0;36m2 |[0;0m public var source: Source
[0;36m3 |[0;0m public var input: MediaDeviceInput?
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: [1;39mnote: [1;39mprotocol requires function 'createInput(onCreate:)' with type '(MediaDeviceInputClosure) -> ()' (aka '((any MediaDeviceInput) -> ()) -> ()')[0;0m
[0;36m8 |[0;0m var reader: MediaDeviceReader? { get set }
[0;36m9 |[0;0m
[0;36m10 |[0;0m mutating func createInput(onCreate: MediaDeviceInputClosure)
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires function 'createInput(onCreate:)' with type '(MediaDeviceInputClosure) -> ()' (aka '((any MediaDeviceInput) -> ()) -> ()')[0;0m
[0;36m11 |[0;0m mutating func createOutput(onCreate: MediaDeviceOutputClosure)
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires function 'createOutput(onCreate:)' with type '(MediaDeviceOutputClosure) -> ()' (aka '((any MediaDeviceOutput) -> ()) -> ()')[0;0m
[0;36m12 |[0;0m mutating func set(reader: MediaDeviceReader) throws
[0;36m13 |[0;0m }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Microphone.swift:1:14: [1;31merror: [1;39mtype 'Microphone' does not conform to protocol 'MediaDevice'[0;0m
[0;36m1 |[0;0m public class Microphone: MediaDevice {
[0;36m|[0;0m |- [1;31merror: [1;39mtype 'Microphone' does not conform to protocol 'MediaDevice'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd stubs for conformance[0;0m
[0;36m2 |[0;0m
[0;36m3 |[0;0m public var source: Source
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift:10:19: [1;39mnote: [1;39mprotocol requires function 'createInput(onCreate:)' with type '(MediaDeviceInputClosure) -> ()' (aka '((any MediaDeviceInput) -> ()) -> ()')[0;0m
[0;36m8 |[0;0m var reader: MediaDeviceReader? { get set }
[0;36m9 |[0;0m
[0;36m10 |[0;0m mutating func createInput(onCreate: MediaDeviceInputClosure)
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires function 'createInput(onCreate:)' with type '(MediaDeviceInputClosure) -> ()' (aka '((any MediaDeviceInput) -> ()) -> ()')[0;0m
[0;36m11 |[0;0m mutating func createOutput(onCreate: MediaDeviceOutputClosure)
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires function 'createOutput(onCreate:)' with type '(MediaDeviceOutputClosure) -> ()' (aka '((any MediaDeviceOutput) -> ()) -> ()')[0;0m
[0;36m12 |[0;0m mutating func set(reader: MediaDeviceReader) throws
[0;36m13 |[0;0m }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:3:27: [1;31merror: [1;39mcannot find type 'NSObject' in scope[0;0m
[0;36m1 |[0;0m import Dispatch
[0;36m2 |[0;0m
[0;36m3 |[0;0m public class AudioReader: [4;39mNSObject[0;0m, MediaDeviceReader {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSObject' in scope[0;0m
[0;36m4 |[0;0m
[0;36m5 |[0;0m public var q = DispatchQueue(label: "audio.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift:9:21: [1;31merror: [1;39minitializer does not override a designated initializer from its superclass[0;0m
[0;36m7 |[0;0m public var sinks: [Sink<Sample>] = []
[0;36m8 |[0;0m
[0;36m9 |[0;0m public [4;39moverride[0;0m init() { super.init() }
[0;36m|[0;0m `- [1;31merror: [1;39minitializer does not override a designated initializer from its superclass[0;0m
[0;36m10 |[0;0m
[0;36m11 |[0;0m }
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:3:27: [1;31merror: [1;39mcannot find type 'NSObject' in scope[0;0m
[0;36m1 |[0;0m import Dispatch
[0;36m2 |[0;0m
[0;36m3 |[0;0m public class VideoReader: [4;39mNSObject[0;0m, MediaDeviceReader {
[0;36m|[0;0m `- [1;31merror: [1;39mcannot find type 'NSObject' in scope[0;0m
[0;36m4 |[0;0m
[0;36m5 |[0;0m public var q = DispatchQueue(label: "video.reader.q")
/host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift:9:21: [1;31merror: [1;39minitializer does not override a designated initializer from its superclass[0;0m
[0;36m7 |[0;0m public var sinks: [Sink<Sample>] = []
[0;36m8 |[0;0m
[0;36m9 |[0;0m public [4;39moverride[0;0m init() { super.init() }
[0;36m|[0;0m `- [1;31merror: [1;39minitializer does not override a designated initializer from its superclass[0;0m
[0;36m10 |[0;0m
[0;36m11 |[0;0m }
/host/spi-builder-workspace/Sources/kubrick/Samples/Session.swift:25:14: [1;31merror: [1;39mtype 'CaptureSession' does not conform to protocol 'Session'[0;0m
[0;36m4 |[0;0m
[0;36m5 |[0;0m public protocol Session {
[0;36m6 |[0;0m associatedtype Base: BaseSession
[0;36m|[0;0m `- [1;39mnote: [1;39mprotocol requires nested type 'Base'[0;0m
[0;36m7 |[0;0m func startRunning()
[0;36m8 |[0;0m func stopRunning()
[0;36m:[0;0m
[0;36m23 |[0;0m }
[0;36m24 |[0;0m
[0;36m25 |[0;0m public class CaptureSession: Session {
[0;36m|[0;0m |- [1;31merror: [1;39mtype 'CaptureSession' does not conform to protocol 'Session'[0;0m
[0;36m|[0;0m `- [1;39mnote: [1;39madd stubs for conformance[0;0m
[0;36m26 |[0;0m public let base = Base()
[0;36m27 |[0;0m
/host/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift:28:46: [1;31merror: [1;39mdefault argument value of type 'SystemMediaSource' does not conform to 'MediaSource'[0;0m
[0;36m26 |[0;0m public private(set) var mediaSource: MediaSource
[0;36m27 |[0;0m
[0;36m28 |[0;0m public init(_ mediaSource: MediaSource = [4;39mSystemMediaSource()[0;0m) {
[0;36m|[0;0m `- [1;31merror: [1;39mdefault argument value of type 'SystemMediaSource' does not conform to 'MediaSource'[0;0m
[0;36m29 |[0;0m self.mediaSource = mediaSource
[0;36m30 |[0;0m }
[#DeprecatedDeclaration]: <https://docs.swift.org/compiler/documentation/diagnostics/deprecated-declaration>
Failed frontend command:
/usr/bin/swift-frontend -frontend -emit-module -experimental-skip-non-inlinable-function-bodies-without-types /host/spi-builder-workspace/Sources/kubrick/Encoders/AACEncoder.swift /host/spi-builder-workspace/Sources/kubrick/Encoders/AudioEncoder.swift /host/spi-builder-workspace/Sources/kubrick/Encoders/H264Encoder.swift /host/spi-builder-workspace/Sources/kubrick/Encoders/H264Settings.swift /host/spi-builder-workspace/Sources/kubrick/Encoders/VideoEncoder.swift /host/spi-builder-workspace/Sources/kubrick/Helpers/Bytes.swift /host/spi-builder-workspace/Sources/kubrick/Helpers/Rational.swift /host/spi-builder-workspace/Sources/kubrick/Helpers/ThreadSafeArray.swift /host/spi-builder-workspace/Sources/kubrick/MediaDevices/Camera.swift /host/spi-builder-workspace/Sources/kubrick/MediaDevices/Display.swift /host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDevice.swift /host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceInput.swift /host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceOutput.swift /host/spi-builder-workspace/Sources/kubrick/MediaDevices/MediaDeviceReader.swift /host/spi-builder-workspace/Sources/kubrick/MediaDevices/Microphone.swift /host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/AudioReader.swift /host/spi-builder-workspace/Sources/kubrick/MediaDevices/Readers/VideoReader.swift /host/spi-builder-workspace/Sources/kubrick/Samples/MediaFormat.swift /host/spi-builder-workspace/Sources/kubrick/Samples/Sample.swift /host/spi-builder-workspace/Sources/kubrick/Samples/Session.swift /host/spi-builder-workspace/Sources/kubrick/Sinks/AACEncoderSink.swift /host/spi-builder-workspace/Sources/kubrick/Sinks/EndpointSink.swift /host/spi-builder-workspace/Sources/kubrick/Sinks/H264EncoderSink.swift /host/spi-builder-workspace/Sources/kubrick/Sinks/MuxerSink.swift /host/spi-builder-workspace/Sources/kubrick/Sinks/PrettyPortraitSink.swift /host/spi-builder-workspace/Sources/kubrick/Sinks/Sink.swift /host/spi-builder-workspace/Sources/kubrick/Sources/AVStream.swift /host/spi-builder-workspace/Sources/kubrick/Sources/Source.swift /host/spi-builder-workspace/Sources/kubrick/Sources/SourceDiscoverer.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -I /host/spi-builder-workspace/.build/out/Products/Debug-linux-x86_64 -module-cache-path /host/spi-builder-workspace/.build/out/ModuleCache.noindex -color-diagnostics -Xcc -fcolor-diagnostics -enable-testing -g -debug-info-format\=dwarf -dwarf-version\=4 -swift-version 4 -Onone -D SWIFT_PACKAGE -D DEBUG -D SWIFT_MODULE_RESOURCE_BUNDLE_UNAVAILABLE -D Xcode -serialize-debugging-options -enable-experimental-feature DebugDescriptionMacro -empty-abi-descriptor -external-plugin-path /usr/lib/swift/host/plugins/testing\#/usr/bin/swift-plugin-server -validate-clang-modules-once -clang-build-session-file /host/spi-builder-workspace/.build/out/ModuleCache.noindex/Session.modulevalidation -Xcc -working-directory -Xcc /host -enable-anonymous-context-mangled-names -file-compilation-dir /host -Xcc -fno-omit-frame-pointer -Xcc -D_LIBCPP_HARDENING_MODE\=_LIBCPP_HARDENING_MODE_DEBUG -Xcc -fmodules-prune-interval\=86400 -Xcc -fmodules-prune-after\=345600 -Xcc -I/host/spi-builder-workspace/.build/out/Products/Debug-linux-x86_64/include -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/kubrick.build/Debug-linux-x86_64/kubrick-t.build/DerivedSources-normal/x86_64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/kubrick.build/Debug-linux-x86_64/kubrick-t.build/DerivedSources/x86_64 -Xcc -I/host/spi-builder-workspace/.build/out/Intermediates.noindex/kubrick.build/Debug-linux-x86_64/kubrick-t.build/DerivedSources -Xcc -DSWIFT_PACKAGE -Xcc -DDEBUG\=1 -no-auto-bridging-header-chaining -module-name kubrick -const-gather-protocols-file /host/spi-builder-workspace/.build/out/Intermediates.noindex/kubrick.build/Debug-linux-x86_64/kubrick-t.build/Objects-normal/x86_64/kubrick_const_extract_protocols.json -in-process-plugin-server-path /usr/lib/swift/host/libSwiftInProcPluginServer.so -plugin-path /usr/lib/swift/host/plugins -plugin-path /usr/local/lib/swift/host/plugins -emit-module-doc-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/kubrick.build/Debug-linux-x86_64/kubrick-t.build/Objects-normal/x86_64/Modules/kubrick.swiftdoc -emit-module-source-info-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/kubrick.build/Debug-linux-x86_64/kubrick-t.build/Objects-normal/x86_64/Modules/kubrick.swiftsourceinfo -emit-objc-header-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/kubrick.build/Debug-linux-x86_64/kubrick-t.build/Objects-normal/x86_64/kubrick-Swift.h -serialize-diagnostics-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/kubrick.build/Debug-linux-x86_64/kubrick-t.build/Objects-normal/x86_64/kubrick-primary-emit-module.dia -emit-dependencies-path /host/spi-builder-workspace/.build/out/Intermediates.noindex/kubrick.build/Debug-linux-x86_64/kubrick-t.build/Objects-normal/x86_64/kubrick-primary-emit-module.d -parse-as-library -o /host/spi-builder-workspace/.build/out/Intermediates.noindex/kubrick.build/Debug-linux-x86_64/kubrick-t.build/Objects-normal/x86_64/Modules/kubrick.swiftmodule
[43 / 59] kubrick
error: Build failed
BUILD FAILURE 6.4 linux