Details
-
Bug
-
Resolution: Fixed
-
P4: Low
-
6.5, 6.8
-
-
640471418 (dev), 5165a8bac (6.9), 66985b333 (6.8)
Description
https://github.com/qt/qtbase/blob/6.8/mkspecs/features/data/mac/objc_namespace.sh
With increasing Xcode versions the functionality incrementally broke:
- Xcode 14: Relinking considered as tampering with code signing (currently need to redundantly code sign)
- Xcode 15+: Patched class names are not found anymore (no solution found so far)
To have this script working is a substantial requirement to get shared libraries which have been statically linked with Qt to work under macOS, otherwise symbols will conflict and cause hard to analyze corruptions and crashes.
EDIT: The script is still required to fix the huge load of warning which occur if the same Qt static library is used in several products at the same time, within the same process.
ย
Re.2 - this is a small quote from parts of the build logs:
(while injecting, still fine at this point)
[2024-12-16T10:33:30.983Z] ๐ค Processing architecture 'x86_64' at offset 4096... [2024-12-16T10:33:30.983Z] โน๏ธ Class names have not been namespaced, adding suffix 'C3F3C31A_1A12_5883_A4C4_28FE1B1E774A'... [2024-12-16T10:33:30.983Z] ๐ Injecting __objc_classname entry 'QIndeterminateProgressIndicator_NI_6_7_1_R1_C3F3C31A_1A12_5883_A4C4_28FE1B1E774A' for 'QIndeterminateProgressIndicator_NI_6_7_1_R1' [2024-12-16T10:33:30.983Z] ๐ Injecting __objc_classname entry 'QVerticalSplitView_NI_6_7_1_R1_C3F3C31A_1A12_5883_A4C4_28FE1B1E774A' for 'QVerticalSplitView_NI_6_7_1_R1' [2024-12-16T10:33:30.983Z] ๐ Injecting __objc_classname entry 'QDarkNSBox_NI_6_7_1_R1_C3F3C31A_1A12_5883_A4C4_28FE1B1E774A' for 'QDarkNSBox_NI_6_7_1_R1' [2024-12-16T10:33:30.983Z] ๐ Injecting __objc_classname entry 'QIndeterminateProgressIndicator_QQC2_NAMESPACE_NI_6_7_1_R1_C3F3C31A_1A12_5883_A4C4_28FE1B1E774A' for 'QIndeterminateProgressIndicator_QQC2_NAMESPACE_NI_6_7_1_R1'
ย
(after injecting)
[2024-12-16T10:33:30.986Z] ๐ค Processing architecture 'x86_64' at offset 4096... [2024-12-16T10:33:30.986Z] โน๏ธ Found namespaced class names, updating class entries... [2024-12-16T10:33:30.986Z] ๐ฅ Failed to resolve class name address for class 'QIndeterminateProgressIndicator_NI_6_7_1_R1_C3F3C31A_1A12_5883_A4C4_28FE1B1E774A' [2024-12-16T10:33:30.986Z] ๐ฅ Failed to resolve class name address for class 'QIndeterminateProgressIndicator_NI_6_7_1_R1_C3F3C31A_1A12_5883_A4C4_28FE1B1E774A' [2024-12-16T10:33:30.986Z] ๐ฅ Failed to resolve class name address for class 'QVerticalSplitView_NI_6_7_1_R1_C3F3C31A_1A12_5883_A4C4_28FE1B1E774A' [2024-12-16T10:33:30.986Z] ๐ฅ Failed to resolve class name address for class 'QVerticalSplitView_NI_6_7_1_R1_C3F3C31A_1A12_5883_A4C4_28FE1B1E774A'
ย
Attachments
For Gerrit Dashboard: QTBUG-132398 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
618236,2 | Remove unsupported linker script objc_namespace.sh | dev | qt/qtbase | Status: MERGED | +2 | 0 |
618384,2 | Remove unsupported linker script objc_namespace.sh | 6.9 | qt/qtbase | Status: MERGED | +2 | 0 |
618429,2 | Remove unsupported linker script objc_namespace.sh | 6.8 | qt/qtbase | Status: MERGED | +2 | 0 |