The Swift Package Index logo.Swift Package Index

Build Information

Failed to build PacketCaptureBPF, reference main (4b7ae0), with Swift 6.2 for Android on 19 Jun 2025 05:49:36 UTC.

Build Command

bash -c docker run --pull=always --rm -v "checkouts-4609320-3":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1

Build Log

========================================
RunAll
========================================
Builder version: 4.64.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.2
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" registry.gitlab.com/finestructure/spi-images:android-6.2-latest swift build --swift-sdk aarch64-unknown-linux-android28 2>&1
android-6.2-latest: Pulling from finestructure/spi-images
Digest: sha256:b7c4a6b4153ff40ef9277e2157e708f835b8eb011095d53bd8db4594eb2b7798
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:android-6.2-latest
Fetching https://github.com/OperatorFoundation/PacketStream.git
[1/45] Fetching packetstream
Fetched https://github.com/OperatorFoundation/PacketStream.git from cache (0.21s)
Fetching https://github.com/OperatorFoundation/Datable.git
[1/399] Fetching datable
Fetched https://github.com/OperatorFoundation/Datable.git from cache (0.20s)
Fetching https://github.com/OperatorFoundation/InternetProtocols.git
[1/467] Fetching internetprotocols
Fetched https://github.com/OperatorFoundation/InternetProtocols.git from cache (0.30s)
Fetching https://github.com/OperatorFoundation/Bits.git
[1/122] Fetching bits
Fetched https://github.com/OperatorFoundation/Bits.git from cache (0.23s)
Fetching https://github.com/OperatorFoundation/SwiftQueue.git
[1/70] Fetching swiftqueue
Fetched https://github.com/OperatorFoundation/SwiftQueue.git from cache (0.29s)
Fetching https://github.com/OperatorFoundation/Net.git
[1/105] Fetching net
Fetched https://github.com/OperatorFoundation/Net.git from cache (0.19s)
Fetching https://github.com/OperatorFoundation/SwiftHexTools.git
[1/96] Fetching swifthextools
Fetched https://github.com/OperatorFoundation/SwiftHexTools.git from cache (0.21s)
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.47s)
Fetching https://github.com/apple/swift-argument-parser
[1/15380] Fetching swift-argument-parser
Fetched https://github.com/apple/swift-argument-parser from cache (1.11s)
Computing version for https://github.com/apple/swift-argument-parser
Computed https://github.com/apple/swift-argument-parser at 1.5.1 (1.78s)
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/apple/swift-argument-parser
Working copy of https://github.com/apple/swift-argument-parser resolved at 1.5.1
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/OperatorFoundation/Bits.git
Working copy of https://github.com/OperatorFoundation/Bits.git resolved at main (cc7079e)
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/Net.git
Working copy of https://github.com/OperatorFoundation/Net.git resolved at main (e49f54a)
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/SwiftHexTools.git
Working copy of https://github.com/OperatorFoundation/SwiftHexTools.git resolved at main (3d4b5a9)
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)
[1/1] Compiling plugin GenerateManual
Building for debugging...
[1/7] Write sources
[6/7] Write swift-version-8C5A4AE7A8CE2BA.txt
[8/46] Compiling Datable Float+Floatable.swift
[9/46] Compiling Datable Float+MaybeDatable.swift
[10/46] Compiling Datable Float+MaybeIntable.swift
[11/46] Compiling Datable Floatable.swift
[12/46] Compiling Datable Int+Floatable.swift
[13/50] Compiling Datable Arrayable.swift
[14/50] Compiling Datable CSVable.swift
[15/50] Compiling Datable Data+Arrayable.swift
[16/50] Compiling Datable Data+Base64.swift
[17/50] Compiling Datable Data+Datable.swift
[18/50] Emitting module PacketStream
[19/50] Compiling PacketStream PacketStream.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 Datable Datable.swift
[25/51] Compiling Datable DatableConfig.swift
[26/51] Compiling Datable Double+MaybeDatable.swift
[27/51] Compiling Datable Double+Stringable.swift
[28/51] Compiling Datable File.swift
[29/51] Compiling SwiftQueue LinkedList.swift
[30/51] Compiling SwiftQueue Queue.swift
[31/51] Emitting module SwiftQueue
[33/52] Compiling Datable MaybeIntable.swift
[34/52] Compiling Datable MaybeNetworkIntable.swift
[35/52] Compiling Datable NetworkDatable.swift
[36/52] Compiling Datable NetworkIntable.swift
[37/52] Emitting module Datable
[39/52] Compiling Datable Data+ExpressibleByStringLiteral.swift
[40/52] Compiling Datable Data+Floatable.swift
[41/52] Compiling Datable Data+MaybeIntable.swift
[42/52] Compiling Datable Data+MaybeNetworkIntable.swift
[43/52] Compiling Datable Data+Stringable.swift
[44/52] Compiling Datable Int+MaybeDatable.swift
[45/52] Compiling Datable Int+MaybeIntable.swift
[46/52] Compiling Datable Int+Stringable.swift
[47/52] Compiling Datable Intable.swift
[48/52] Compiling Datable MaybeDatable.swift
[49/52] Compiling Datable StringableArray+CSVable.swift
[50/52] Compiling Datable UInt+Datable.swift
[51/52] Compiling Datable UInt+MaybeNetworkDatable.swift
[52/52] Compiling Datable UInt+Stringable.swift
[54/57] Compiling Bits Bits.swift
[55/57] Compiling Bits SimpleBits+MaybeIntable.swift
[56/57] Emitting module Bits
[57/57] Compiling Bits Bits+MaybeIntable.swift
error: emit-module command failed with exit code 1 (use -v to see invocation)
[59/60] 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
[60/60] 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
BUILD FAILURE 6.2 android