Build Information
Failed to build PacketCaptureBPF, reference main (4b7ae0), with Swift 6.3 for Android on 12 Apr 2026 15:26:26 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1Build Log
========================================
RunAll
========================================
Builder version: 4.70.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/OperatorFoundation/PacketCaptureBPF.git
Reference: main
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/OperatorFoundation/PacketCaptureBPF
* branch main -> FETCH_HEAD
* [new branch] main -> origin/main
HEAD is now at 4b7ae02 swift-tools-version:5.8 macOS 13
Cloned https://github.com/OperatorFoundation/PacketCaptureBPF.git
Revision (git rev-parse @):
4b7ae02db84a5d9412fba27292b3a577eb6304d0
SUCCESS checkout https://github.com/OperatorFoundation/PacketCaptureBPF.git at main
========================================
Build
========================================
Selected platform: android
Swift version: 6.3
Building package at path: $PWD
https://github.com/OperatorFoundation/PacketCaptureBPF.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" -e JAVA_HOME="/root/.sdkman/candidates/java/current" -e SPI_BUILD="1" -e SPI_PROCESSING="1" registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.3-latest: Pulling from swiftpackageindex/spi-images
Digest: sha256:9008270ea37a55e78725e6225015adb5eff8582da520c5232bf0499f32c36dc4
Status: Image is up to date for registry.gitlab.com/swiftpackageindex/spi-images:android-6.3-latest
Fetching https://github.com/OperatorFoundation/PacketStream.git
[1/45] Fetching packetstream
Fetched https://github.com/OperatorFoundation/PacketStream.git from cache (0.25s)
Fetching https://github.com/OperatorFoundation/Datable.git
[1/399] Fetching datable
Fetched https://github.com/OperatorFoundation/Datable.git from cache (0.26s)
Fetching https://github.com/OperatorFoundation/InternetProtocols.git
[1/467] Fetching internetprotocols
Fetched https://github.com/OperatorFoundation/InternetProtocols.git from cache (0.34s)
Fetching https://github.com/OperatorFoundation/Bits.git
[1/122] Fetching bits
Fetched https://github.com/OperatorFoundation/Bits.git from cache (0.25s)
Fetching https://github.com/OperatorFoundation/SwiftQueue.git
[1/70] Fetching swiftqueue
Fetched https://github.com/OperatorFoundation/SwiftQueue.git from cache (0.23s)
Fetching https://github.com/OperatorFoundation/Net.git
[1/105] Fetching net
Fetched https://github.com/OperatorFoundation/Net.git from cache (0.24s)
Fetching https://github.com/OperatorFoundation/SwiftHexTools.git
[1/96] Fetching swifthextools
Fetched https://github.com/OperatorFoundation/SwiftHexTools.git from cache (0.23s)
Fetching https://github.com/OperatorFoundation/NetworkLinux
[1/199] Fetching networklinux
Fetched https://github.com/OperatorFoundation/NetworkLinux from cache (0.25s)
Fetching https://github.com/OperatorFoundation/BlueSocket.git
[1/2764] Fetching bluesocket
Fetched https://github.com/OperatorFoundation/BlueSocket.git from cache (0.46s)
Fetching https://github.com/apple/swift-argument-parser
[1/17523] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (0.82s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.7.1 (1.22s)
Creating working copy for https://github.com/OperatorFoundation/NetworkLinux
Working copy of https://github.com/OperatorFoundation/NetworkLinux resolved at main (2c563f2)
Creating working copy for https://github.com/OperatorFoundation/PacketStream.git
Working copy of https://github.com/OperatorFoundation/PacketStream.git resolved at main (7916aee)
Creating working copy for https://github.com/OperatorFoundation/SwiftHexTools.git
Working copy of https://github.com/OperatorFoundation/SwiftHexTools.git resolved at main (3d4b5a9)
Creating working copy for https://github.com/OperatorFoundation/Net.git
Working copy of https://github.com/OperatorFoundation/Net.git resolved at main (e49f54a)
Creating working copy for https://github.com/OperatorFoundation/Datable.git
Working copy of https://github.com/OperatorFoundation/Datable.git resolved at main (1186348)
Creating working copy for https://github.com/OperatorFoundation/BlueSocket.git
Working copy of https://github.com/OperatorFoundation/BlueSocket.git resolved at main (5a936a3)
Creating working copy for https://github.com/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.7.1
Creating working copy for https://github.com/OperatorFoundation/SwiftQueue.git
Working copy of https://github.com/OperatorFoundation/SwiftQueue.git resolved at main (3d099bc)
Creating working copy for https://github.com/OperatorFoundation/InternetProtocols.git
Working copy of https://github.com/OperatorFoundation/InternetProtocols.git resolved at main (ce88950)
Creating working copy for https://github.com/OperatorFoundation/Bits.git
Working copy of https://github.com/OperatorFoundation/Bits.git resolved at main (cc7079e)
[1/1] Compiling plugin GenerateManual
[2/2] Compiling plugin GenerateDoccReference
Building for debugging...
[2/8] Write sources
[7/8] Write swift-version--4F562202D5529B1.txt
[9/47] Emitting module Datable
[10/51] Compiling SwiftQueue Queue.swift
[11/51] Compiling Datable Int+MaybeDatable.swift
[12/51] Compiling Datable Int+MaybeIntable.swift
[13/51] Compiling Datable Int+Stringable.swift
[14/51] Compiling Datable Intable.swift
[15/51] Compiling Datable MaybeDatable.swift
[16/51] Compiling Datable MaybeIntable.swift
[17/51] Compiling Datable MaybeNetworkIntable.swift
[18/51] Compiling Datable NetworkDatable.swift
[19/51] Compiling Datable NetworkIntable.swift
[20/51] Compiling Datable String+Arrayable.swift
[21/51] Compiling Datable String+Datable.swift
[22/51] Compiling Datable String+Intable.swift
[23/51] Compiling Datable Stringable.swift
[24/51] Compiling SwiftQueue LinkedList.swift
[25/51] Emitting module SwiftQueue
[26/52] Compiling Datable Datable.swift
[27/52] Compiling Datable DatableConfig.swift
[28/52] Compiling Datable Double+MaybeDatable.swift
[29/52] Compiling Datable Double+Stringable.swift
[30/52] Compiling Datable File.swift
[32/52] Compiling Datable Float+Floatable.swift
[33/52] Compiling Datable Float+MaybeDatable.swift
[34/52] Compiling Datable Float+MaybeIntable.swift
[35/52] Compiling Datable Floatable.swift
[36/52] Compiling Datable Int+Floatable.swift
[37/52] Compiling Datable StringableArray+CSVable.swift
[38/52] Compiling Datable UInt+Datable.swift
[39/52] Compiling Datable UInt+MaybeNetworkDatable.swift
[40/52] Compiling Datable UInt+Stringable.swift
[41/52] Emitting module PacketStream
[42/52] Compiling PacketStream PacketStream.swift
[43/53] Compiling Datable Data+ExpressibleByStringLiteral.swift
[44/53] Compiling Datable Data+Floatable.swift
[45/53] Compiling Datable Data+MaybeIntable.swift
[46/53] Compiling Datable Data+MaybeNetworkIntable.swift
[47/53] Compiling Datable Data+Stringable.swift
[48/53] Compiling Datable Arrayable.swift
[49/53] Compiling Datable CSVable.swift
[50/53] Compiling Datable Data+Arrayable.swift
[51/53] Compiling Datable Data+Base64.swift
[52/53] Compiling Datable Data+Datable.swift
[55/58] Emitting module Bits
[56/58] Compiling Bits SimpleBits+MaybeIntable.swift
[57/58] Compiling Bits Bits+MaybeIntable.swift
[58/58] Compiling Bits Bits.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[60/61] Emitting module PacketCaptureBPF
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:53:18: error: cannot find 'ifreq' in scope
51 | let packets = Queue<(Date, Data)>()
52 |
53 | var if_req = ifreq()
| `- error: cannot find 'ifreq' in scope
54 | var capturing: Bool = false
55 |
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:160:13: error: cannot find 'ioctl' in scope
158 | var bpf_stat = bpf_stat_struct(bs_recv: 0, bs_drop: 0)
159 |
160 | _ = ioctl(self.fd_bpf, BIOCGSTATS, &bpf_stat)
| `- error: cannot find 'ioctl' in scope
161 | //print("bpf_stat: \(bpf_stat)")
162 |
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:167:19: error: cannot find 'read' in scope
165 |
166 | // read from bpf device into buffer
167 | let len = read(self.fd_bpf, &self.buffer, Int(self.buffer_size) )
| `- error: cannot find 'read' in scope
168 |
169 | guard len != -1 else
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:267:35: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
265 |
266 | //bpf is byte aligned
267 | let bytesToRead = (((UInt32(bh_hdrlen) + bh_caplen) + (UInt32(BPF_ALIGNMENT) - 1)) & (~(UInt32(BPF_ALIGNMENT) - 1))) - UInt32(bh_hdrlen)
| `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
268 | //print("bytesToRead: \(bytesToRead)")
269 |
[61/61] Compiling PacketCaptureBPF CaptureDevice.swift
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:53:18: error: cannot find 'ifreq' in scope
51 | let packets = Queue<(Date, Data)>()
52 |
53 | var if_req = ifreq()
| `- error: cannot find 'ifreq' in scope
54 | var capturing: Bool = false
55 |
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:78:18: error: cannot find 'open' in scope
76 | for i in 0...255 {
77 | let dev: String = "/dev/bpf" + i.string
78 | fd = open(dev, O_RDWR)
| `- error: cannot find 'open' in scope
79 | if fd != -1 {
80 | self.fd_bpf = fd
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:78:28: error: cannot find 'O_RDWR' in scope
76 | for i in 0...255 {
77 | let dev: String = "/dev/bpf" + i.string
78 | fd = open(dev, O_RDWR)
| `- error: cannot find 'O_RDWR' in scope
79 | if fd != -1 {
80 | self.fd_bpf = fd
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:87:35: error: cannot find 'Darwin' in scope
85 | else
86 | {
87 | print("* errno: \(Darwin.errno)")
| `- error: cannot find 'Darwin' in scope
88 | print("* \(dev)")
89 | }
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:115:19: error: cannot find 'ioctl' in scope
113 | self.capturing = true
114 | // set buffer size
115 | guard Int(ioctl(self.fd_bpf, BIOCSBLEN, &self.buffer_size)) == 0 else
| `- error: cannot find 'ioctl' in scope
116 | {
117 | throw BPFerror.couldNotSetBufferSize
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:122:19: error: cannot find 'ioctl' in scope
120 |
121 | // bind interface to the bpf device
122 | guard Int(ioctl(self.fd_bpf, BIOCSETIF, &if_req)) == 0 else
| `- error: cannot find 'ioctl' in scope
123 | {
124 | throw BPFerror.couldNotBindInterfaceToBPF
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:130:20: error: cannot find 'ioctl' in scope
128 | // enable promiscious mode
129 | // ioctl(fd, BIOCPROMISC, NULL)
130 | guard Int( ioctl(self.fd_bpf, BIOCPROMISC, 0 )) == 0 else
| `- error: cannot find 'ioctl' in scope
131 | {
132 | throw BPFerror.couldNotEnablePromiscuousMode
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:141:19: error: cannot find 'close' in scope
139 | public func stopCapture() throws {
140 | self.capturing = false
141 | guard Int(close(self.fd_bpf)) == 0 else
| `- error: cannot find 'close' in scope
142 | {
143 | throw BPFerror.couldNotCloseBPFFileHandle
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:160:13: error: cannot find 'ioctl' in scope
158 | var bpf_stat = bpf_stat_struct(bs_recv: 0, bs_drop: 0)
159 |
160 | _ = ioctl(self.fd_bpf, BIOCGSTATS, &bpf_stat)
| `- error: cannot find 'ioctl' in scope
161 | //print("bpf_stat: \(bpf_stat)")
162 |
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:167:19: error: cannot find 'read' in scope
165 |
166 | // read from bpf device into buffer
167 | let len = read(self.fd_bpf, &self.buffer, Int(self.buffer_size) )
| `- error: cannot find 'read' in scope
168 |
169 | guard len != -1 else
/host/spi-builder-workspace/Sources/PacketCaptureBPF/CaptureDevice.swift:267:35: error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
265 |
266 | //bpf is byte aligned
267 | let bytesToRead = (((UInt32(bh_hdrlen) + bh_caplen) + (UInt32(BPF_ALIGNMENT) - 1)) & (~(UInt32(BPF_ALIGNMENT) - 1))) - UInt32(bh_hdrlen)
| `- error: the compiler is unable to type-check this expression in reasonable time; try breaking up the expression into distinct sub-expressions
268 | //print("bytesToRead: \(bytesToRead)")
269 |
BUILD FAILURE 6.3 android