Build Information
Failed to build ImGui, reference 1.82.0 (dbf41b
), with Swift 6.2 (beta) for Android on 20 Jun 2025 23:33:19 UTC.
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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/forkercat/SwiftImGui.git
Reference: 1.82.0
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/forkercat/SwiftImGui
* tag 1.82.0 -> FETCH_HEAD
HEAD is now at dbf41bd Remove unused submodule
Submodule path '3rdparty/cimgui': checked out '6a98f4bbedec967d02f3395f319feceec311ecb2'
Submodule path '3rdparty/cimgui/imgui': checked out '64aab8480a5643cec1880af17931963a90a8f990'
Submodule '3rdparty/cimgui' (https://github.com/cimgui/cimgui.git) registered for path '3rdparty/cimgui'
Cloning into '/host/spi-builder-workspace/3rdparty/cimgui'...
Submodule 'imgui' (https://github.com/ocornut/imgui.git) registered for path '3rdparty/cimgui/imgui'
Cloning into '/host/spi-builder-workspace/3rdparty/cimgui/imgui'...
Cloned https://github.com/forkercat/SwiftImGui.git
Revision (git rev-parse @):
dbf41bd66b45c701635e6265340b95e71f958521
SUCCESS checkout https://github.com/forkercat/SwiftImGui.git at 1.82.0
========================================
Build
========================================
Selected platform: android
Swift version: 6.2
Building package at path: $PWD
https://github.com/forkercat/SwiftImGui.git
Running build ...
bash -c docker run --pull=always --rm -v "checkouts-4609320-2":/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
Building for debugging...
[0/18] Write sources
[0/18] Copying definitions.json
[3/18] Write sources
[4/18] Compiling imgui_tables.cpp
[5/18] Write swift-version-8C5A4AE7A8CE2BA.txt
[6/18] Compiling imgui_demo.cpp
[7/27] Compiling imgui_draw.cpp
[8/27] Compiling CImGui cimgui.cpp
[9/27] Compiling imgui_widgets.cpp
[10/27] Compiling imgui.cpp
[12/32] Emitting module ImGui
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:10:1: warning: extension declares a conformance of imported type 'ImVec1' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
8 | import CImGui
9 |
10 | extension ImVec1: Equatable {
| |- warning: extension declares a conformance of imported type 'ImVec1' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
11 | public static func == (lhs: ImVec1, rhs: ImVec1) -> Bool {
12 | lhs.x == rhs.x
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:16:1: warning: extension declares a conformance of imported type 'ImVec2' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
14 | }
15 |
16 | extension ImVec2: Equatable {
| |- warning: extension declares a conformance of imported type 'ImVec2' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
17 | public static func == (lhs: ImVec2, rhs: ImVec2) -> Bool {
18 | lhs.x == rhs.x &&
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:23:1: warning: extension declares a conformance of imported type 'ImVec4' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
21 | }
22 |
23 | extension ImVec4: Equatable {
| |- warning: extension declares a conformance of imported type 'ImVec4' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
24 | public static func == (lhs: ImVec4, rhs: ImVec4) -> Bool {
25 | lhs.x == rhs.x &&
[13/32] Compiling ImGui Export.swift
[14/32] Compiling AutoWrapper Exceptions.swift
[15/32] Compiling ImGui ImVec+Extensions.swift
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:10:1: warning: extension declares a conformance of imported type 'ImVec1' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
8 | import CImGui
9 |
10 | extension ImVec1: Equatable {
| |- warning: extension declares a conformance of imported type 'ImVec1' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
11 | public static func == (lhs: ImVec1, rhs: ImVec1) -> Bool {
12 | lhs.x == rhs.x
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:16:1: warning: extension declares a conformance of imported type 'ImVec2' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
14 | }
15 |
16 | extension ImVec2: Equatable {
| |- warning: extension declares a conformance of imported type 'ImVec2' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
17 | public static func == (lhs: ImVec2, rhs: ImVec2) -> Bool {
18 | lhs.x == rhs.x &&
/host/spi-builder-workspace/Sources/ImGui/ImVec+Extensions.swift:23:1: warning: extension declares a conformance of imported type 'ImVec4' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
21 | }
22 |
23 | extension ImVec4: Equatable {
| |- warning: extension declares a conformance of imported type 'ImVec4' to imported protocol 'Equatable'; this will not behave correctly if the owners of 'CImGui' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
24 | public static func == (lhs: ImVec4, rhs: ImVec4) -> Bool {
25 | lhs.x == rhs.x &&
[16/33] Compiling AutoWrapper DataType.swift
[17/33] Compiling AutoWrapper Definitions.swift
/host/spi-builder-workspace/Sources/AutoWrapper/Definitions.swift:38:16: warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
36 | public let argsT: [ArgsT]
37 | public let ret: DataType?
38 | public let templated = false
| |- warning: immutable property will not be decoded because it is declared with an initial value which cannot be overwritten
| |- note: set the initial value via the initializer or explicitly define a CodingKeys enum without a 'templated' case to silence this warning
| `- note: make the property mutable instead
39 | public let namespace: String?
40 |
[18/33] Compiling ImGui Helper.swift
[19/33] Compiling ImGui ImGui+Definitions.swift
[20/34] Wrapping AST for ImGui for debugging
[22/36] Emitting module DemoMinimal
[23/36] Compiling DemoMinimal main.swift
[24/37] Wrapping AST for DemoMinimal for debugging
[25/37] Write Objects.LinkFileList
error: link command failed with exit code 1 (use -v to see invocation)
ld.lld: error: undefined symbol: fmodf
>>> referenced by imgui_widgets.cpp:4599 (Sources/CImGui/imgui/imgui_widgets.cpp:4599)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImGui::InputTextEx(char const*, char const*, char*, int, ImVec2 const&, int, int (*)(ImGuiInputTextCallbackData*), void*))
>>> referenced by imgui_demo.cpp:430 (Sources/CImGui/imgui/imgui_demo.cpp:430)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_demo.cpp.o:(ImGui::ShowDemoWindow(bool*))
>>> referenced by imgui.cpp:1839 (Sources/CImGui/imgui/imgui.cpp:1839)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui.cpp.o:(ImGui::ColorConvertHSVtoRGB(float, float, float, float&, float&, float&))
>>> referenced 2 more times
ld.lld: error: undefined symbol: atan2f
>>> referenced by imgui_widgets.cpp:5033 (Sources/CImGui/imgui/imgui_widgets.cpp:5033)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImGui::ColorPicker4(char const*, float*, int, float const*))
ld.lld: error: undefined symbol: cosf
>>> referenced by imgui_widgets.cpp:5038 (Sources/CImGui/imgui/imgui_widgets.cpp:5038)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImGui::ColorPicker4(char const*, float*, int, float const*))
>>> referenced by imgui_widgets.cpp:5238 (Sources/CImGui/imgui/imgui_widgets.cpp:5238)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImGui::ColorPicker4(char const*, float*, int, float const*))
>>> referenced by imgui_widgets.cpp:5239 (Sources/CImGui/imgui/imgui_widgets.cpp:5239)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImGui::ColorPicker4(char const*, float*, int, float const*))
>>> referenced 9 more times
ld.lld: error: undefined symbol: sinf
>>> referenced by imgui_widgets.cpp:5039 (Sources/CImGui/imgui/imgui_widgets.cpp:5039)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImGui::ColorPicker4(char const*, float*, int, float const*))
>>> referenced by imgui_widgets.cpp:5238 (Sources/CImGui/imgui/imgui_widgets.cpp:5238)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImGui::ColorPicker4(char const*, float*, int, float const*))
>>> referenced by imgui_widgets.cpp:5239 (Sources/CImGui/imgui/imgui_widgets.cpp:5239)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImGui::ColorPicker4(char const*, float*, int, float const*))
>>> referenced 8 more times
ld.lld: error: undefined symbol: powf
>>> referenced by imgui_internal.h:369 (Sources/CImGui/imgui/imgui_internal.h:369)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImPow(float, float))
>>> referenced by imgui_internal.h:369 (Sources/CImGui/./imgui/imgui_internal.h:369)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/cimgui.cpp.o:(ImPow(float, float))
ld.lld: error: undefined symbol: logf
>>> referenced by imgui_internal.h:371 (Sources/CImGui/imgui/imgui_internal.h:371)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImLog(float))
>>> referenced by imgui_internal.h:371 (Sources/CImGui/./imgui/imgui_internal.h:371)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/cimgui.cpp.o:(ImLog(float))
ld.lld: error: undefined symbol: log
>>> referenced by imgui_internal.h:372 (Sources/CImGui/imgui/imgui_internal.h:372)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImLog(double))
>>> referenced by imgui_internal.h:372 (Sources/CImGui/./imgui/imgui_internal.h:372)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/cimgui.cpp.o:(ImLog(double))
ld.lld: error: undefined symbol: pow
>>> referenced by imgui_internal.h:370 (Sources/CImGui/imgui/imgui_internal.h:370)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_widgets.cpp.o:(ImPow(double, double))
>>> referenced by imgui_internal.h:370 (Sources/CImGui/./imgui/imgui_internal.h:370)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/cimgui.cpp.o:(ImPow(double, double))
ld.lld: error: undefined symbol: acosf
>>> referenced by imgui_draw.cpp:390 (Sources/CImGui/imgui/imgui_draw.cpp:390)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_draw.cpp.o:(ImDrawListSharedData::SetCircleTessellationMaxError(float))
>>> referenced by imgui_draw.cpp:556 (Sources/CImGui/imgui/imgui_draw.cpp:556)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_draw.cpp.o:(ImDrawList::_CalcCircleAutoSegmentCount(float) const)
>>> referenced by imgui_draw.cpp:3782 (Sources/CImGui/imgui/imgui_draw.cpp:3782)
>>> /host/spi-builder-workspace/.build/aarch64-unknown-linux-android28/debug/CImGui.build/imgui/imgui_draw.cpp.o:(ImAcos01(float))
clang: error: linker command failed with exit code 1 (use -v to see invocation)
[26/37] Linking DemoMinimal
BUILD FAILURE 6.2 android