On 12/13/22 9:35 AM, zoujiaqing wrote:
On Saturday, 3 December 2022 at 20:33:59 UTC, Steven Schveighoffer wrote:
The issue is dub. Make sure you are using the dub built for ARM.
What Apple does is if any program in the same process group is x86
specific, then all the executed programs that are universal (including
the linker) will switch to that mode.
The linker thinks you are building on x86, even though the compiler is
doing ARM64. I ran into this early on too. Switching to the dub that
ships with ldc built for ARM solved it!
-Steve
```[zoujiaqing@mac server % ~/Programs/ldc/bin/dub run --compiler=ldc2
--arch=arm64-apple-macos
Performing "debug" build using ldc2 for aarch64, arm_hardfloat.
taggedalgebraic 0.11.22: target for configuration "library" is up to date.
eventcore 0.9.20+commit.4.g6744ae7: target for configuration "cfrunloop"
is up to date.
server ~master: building configuration "application"...
Linking...
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: alignment (1) of atom 'anon' is too small and may result in
unaligned pointers
ld: warning: pointer not aligned at address 0x100334231 ('anon' + 561
from
.dub/build/application-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-FA51B7352B8B88D87B3B8911362A8A52/server.o)
ld: warning: pointer not aligned at address 0x1003350DB ('anon' + 2025
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.driver.o))
ld: warning: pointer not aligned at address 0x1003398EB ('anon' + 1759
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.drivers.posix.driver.o))
ld: warning: pointer not aligned at address 0x10033B426 ('anon' + 696
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.drivers.posix.events.o))
ld: warning: pointer not aligned at address 0x10033C2A1 ('anon' + 618
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.drivers.posix.kqueue.o))
ld: warning: pointer not aligned at address 0x10033C942 ('anon' + 1186
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.drivers.posix.pipes.o))
ld: warning: pointer not aligned at address 0x10033EE5E ('anon' + 1258
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.drivers.posix.processes.o))
ld: warning: pointer not aligned at address 0x100342E2A ('anon' + 872
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.drivers.posix.sockets.o))
ld: warning: pointer not aligned at address 0x1003479E2 ('anon' + 630
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.drivers.posix.watchers.o))
ld: warning: pointer not aligned at address 0x100349562 ('anon' + 1437
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.drivers.threadedfile.o))
ld: warning: pointer not aligned at address 0x10034B9F2 ('anon' + 1597
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.drivers.timer.o))
ld: warning: pointer not aligned at address 0x10034D833 ('anon' + 372
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.internal.consumablequeue.o))
ld: warning: pointer not aligned at address 0x10034E57E ('anon' + 244
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.internal.dlist.o))
ld: warning: pointer not aligned at address 0x10034EC95 ('anon' + 1228
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.internal.ioworker.o))
ld: warning: pointer not aligned at address 0x100351681 ('anon' + 4868
from
../../eventcore/.dub/build/cfrunloop-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-18F6DB0DFA53563841F49715E25DF4FC/libeventcore.a(eventcore.internal.utils.o))
ld: warning: pointer not aligned at address 0x10036F251 ('anon' + 270
from
../../../.dub/packages/taggedalgebraic-0.11.22/taggedalgebraic/.dub/build/library-debug-posix.osx.darwin-aarch64.arm_hardfloat-ldc_v1.30.0-2F44BAD74994DE04344CC9119014729D/libtaggedalgebraic.a(taggedalgebraic.o))
ld: unaligned pointer(s) for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see
invocation)
Error: /usr/bin/cc failed with status: 1
ldc2 failed with exit code 1.
```
So hard ..
Yeah, that's a known issue:
https://github.com/ldc-developers/ldc/issues/3864
Try building with `-b plain` to avoid the debug build
-Steve