How to compiler dlang code on Apple M1?
zoujiaqing
zoujiaqing at gmail.com
Tue Dec 13 14:35:58 UTC 2022
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 at 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 ..
More information about the Digitalmars-d-learn
mailing list