fix(ios): force mbedtls subtree static to avoid broken dylib rpaths#138
Merged
Conversation
On iOS the Qt toolchain leaves BUILD_SHARED_LIBS=ON, so mbedtls's 3rdparty deps (everest, p256m) build as dylibs whose install_name is @rpath/... but the main Theengs binary's LC_RPATH only points at absolute build-machine paths under build-ios-dev/. The .app installs fine but dyld then fails at launch with "Library not loaded: @rpath/libeverest.dylib". Scope BUILD_SHARED_LIBS=OFF to the mbedtls add_subdirectory call so the sub-libraries are statically linked into the executable, mirroring the existing QTKEYCHAIN_STATIC pattern a few lines below. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1technophile
added a commit
that referenced
this pull request
Jun 6, 2026
Bump the 1.5.0 release date to 2026-06-06 and fold in the user-facing changes that landed between #130 and the cut: TheengsDecoder v2.3.0 (#137), MQTT sentinels + sampling caption (#131), credential secure storage (#132), background-update scheduling and consolidated permissions UI (#133, #135), the About-screen decoder version and build number (#139), the iOS mbedTLS static-link fix (#138), and the device_bm26 ENABLE_MBEDTLS guard (#134). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
3 tasks
1technophile
added a commit
that referenced
this pull request
Jun 6, 2026
Bump the 1.5.0 release date to 2026-06-06 and fold in the user-facing changes that landed between #130 and the cut: TheengsDecoder v2.3.0 (#137), MQTT sentinels + sampling caption (#131), credential secure storage (#132), background-update scheduling and consolidated permissions UI (#133, #135), the About-screen decoder version and build number (#139), the iOS mbedTLS static-link fix (#138), and the device_bm26 ENABLE_MBEDTLS guard (#134). Co-authored-by: Florian <1technophile@users.noreply.github.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description:
On iOS the Qt toolchain leaves BUILD_SHARED_LIBS=ON, so mbedtls's 3rdparty deps (everest, p256m) build as dylibs whose install_name is @rpath/... but the main Theengs binary's LC_RPATH only points at absolute build-machine paths under build-ios-dev/. The .app installs fine but dyld then fails at launch with "Library not loaded: @rpath/libeverest.dylib".
Scope BUILD_SHARED_LIBS=OFF to the mbedtls add_subdirectory call so the sub-libraries are statically linked into the executable, mirroring the existing QTKEYCHAIN_STATIC pattern a few lines below.
Checklist: