On Friday, 22 December 2023 at 12:49:35 UTC, Guillaume Piolat wrote:
On Thursday, 21 December 2023 at 23:25:55 UTC, Renato wrote:
ld: symbol(s) not found for architecture x86_64

Make sure you're using the "osx-universal" package in order to have both arch.
https://github.com/ldc-developers/ldc/releases/tag/v1.35.0

That said, for consumer software it may be a good idea to use eg: LDC 1.28 for x86_64 and LDC 1.35 for arm64 builds. You can stich the binaries together, which will give compatibility with all macOS from 10.12 up to Sonoma (well, if you also: codesign, notarize, make a DMG...).

I went to the effort of downloading this universal release, manually creating the `activate` script with the right paths to avoid issues (as the download didn't include one)... and it still fails.

```
▶ dub test
Generating test runner configuration 'pledged-test-unittest' for 'unittest' (library). Starting Performing "unittest" build using /Users/renato/dlang/ldc2-1.35.0-osx-universal/bin/ldc2 for x86_64. Building pledged ~master: building configuration [pledged-test-unittest]
     Linking pledged-test-unittest
Undefined symbols for architecture x86_64:
"__D4core8internal7dassert__T14_d_assert_failTPkZQuFNaNbNiNfMxAyaMxPkZAya", referenced from: __D3std3uni__T8CowArrayTSQwQu8GcPolicyZQz17freeThisReferenceMFNaNbNiNfZv in pledged-test-unittest.o "__D4core8internal7dassert__T14_d_assert_failTxkZ__TQxTiZQBcFNaNbNiNfMxAyaMKxkMxiZAya", referenced from: __D3std3uni__T9sliceBitsVmi0Vmi8ZQt__T6opCallTwZQkFNaNbNiNfwZk in pledged-test-unittest.o __D3std3uni__T9sliceBitsVmi8Vmi21ZQu__T6opCallTwZQkFNaNbNiNfwZk in pledged-test-unittest.o "__D4core8internal7dassert__T24miniFormatFakeAttributesTmZQBdFNaNbNiNfMKxmZAya", referenced from: __D4core8internal7dassert__T14_d_assert_failTmZ__TQwTmZQBbFNaNbNiNfMxAyaMKxmMKxmZAya in pledged-test-unittest.o __D4core8internal7dassert__T14_d_assert_failTmZ__TQwTmZQBbFNaNbNiNfMxAyaMKxmMxmZAya in pledged-test-unittest.o __D4core8internal7dassert__T14_d_assert_failTmZ__TQwTmZQBbFNaNbNiNfMxAyaMxmMKxmZAya in pledged-test-unittest.o __D4core8internal7dassert__T14_d_assert_failTmZ__TQwTiZQBbFNaNbNiNfMxAyaMxmMxiZAya in pledged-test-unittest.o __D4core8internal7dassert__T14_d_assert_failTmZ__TQwTiZQBbFNaNbNiNfMxAyaMKxmMxiZAya in pledged-test-unittest.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Error: /usr/bin/cc failed with status: 1
Error /Users/renato/dlang/ldc2-1.35.0-osx-universal/bin/ldc2 failed with exit code 1.
(ldc-1.35.0)
```

You can see it was using the universal release.

I even tried setting the LIBRARY_PATH and LD_LIBRARY_PATH to use `lib-arm64` and `lib-ios-x86_64` besides the obvious `lib-x86_64` but nothing worked.

I'm afraid I've lost interest to make it work at this point :(

Reply via email to