digitalmars.D.ldc - Undefined symbols for architecture arm64
- Kenneth Wolcott (156/156) May 18 Hi;
- Kagamin (2/2) May 19 It's a code snippet, not a full program, so you can't compile it
- Kenneth Wolcott (2/4) May 19 Thank you, it is obvious now.
Hi; I have copied D source code from Rosetta Code as a test on my MacOS M1 machine. https://rosettacode.org/wiki/Power_set#D (second version) cat -n ./power_set.d 1 // An alternative version, which implements the range construct from 2 // scratch: 3 4 import std.range; 5 6 struct PowerSet(R) 7 if (isRandomAccessRange!R) { 8 R r; 9 size_t position; 10 11 struct PowerSetItem { 12 R r; 13 size_t position; 14 15 private void advance() { 16 while (!(position & 1)) { 17 r.popFront(); 18 position >>= 1; 19 } 20 } 21 22 property bool empty() { return position == 0; } 23 property auto front() 24 { 25 advance(); 26 return r.front; 27 } 28 void popFront() 29 { 30 advance(); 31 r.popFront(); 32 position >>= 1; 33 } 34 } 35 36 property bool empty() { return position == (1 \<\< r.length); } 37 property PowerSetItem front() { return PowerSetItem(r.save, position); } 38 void popFront() { position++; } 39 } 40 41 auto powerSet(R)(R r) { return PowerSet!R(r); } /opt/dlang/ldc2-e20e2064-osx-arm64/bin/ldc2 -v ./power_set.d binary /opt/dlang/ldc2-e20e2064-osx-arm64/bin/ldc2 version 1.41.0-git-e20e206 (DMD v2.111.0, LLVM 19.1.7) config /opt/dlang/ldc2-e20e2064-osx-arm64/etc/ldc2.conf (arm64-apple-darwin24.5.0) predefs LDC all D_Version2 assert D_PreConditions D_PostConditions D_Invariants D_ModuleInfo D_Exceptions D_TypeInfo AArch64 ARM_HardFloat D_HardFloat LittleEndian D_LP64 D_PIC OSX darwin Posix CppRuntime_LLVM CppRuntime_Clang LDC_LLVM_1901 D_ObjectiveC parse power_set importall power_set import object (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/object.d) import core.attribute (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/attribute.d) import ldc.attributes (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/ldc/attributes.d) import core.internal.hash (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/hash.d) import core.internal.traits (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/traits.d) import core.internal.entrypoint (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/entrypoint.d) import core.internal.array.appending (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/array/appending.d) import core.internal.array.comparison (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/array/comparison.d) import core.internal.array.equality (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/array/equality.d) import core.internal.array.casting (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/array/casting.d) import core.internal.array.concatenation (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/array/concatenation.d) import core.internal.array.construction (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/array/construction.d) import core.internal.array.arrayassign (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/array/arrayassign.d) import core.internal.array.capacity (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/array/capacity.d) import core.internal.dassert (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/dassert.d) import core.internal.destruction (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/destruction.d) import core.internal.moving (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/moving.d) import core.internal.postblit (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/postblit.d) import core.internal.switch_ (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/switch_.d) import core.lifetime (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/lifetime.d) import core.internal.attributes (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/internal/attributes.d) import core.builtins (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/core/builtins.d) import ldc.intrinsics (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/ldc/intrinsics.di) import std.range (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/range/package.d) import std.typecons (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/typecons.d) import std.format.spec (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/format/spec.d) import std.traits (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/traits.d) import std.meta (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/meta.d) import std.range.primitives (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/range/primitives.d) import std.format.write (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/format/write.d) import std.format.internal.write (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/format/internal/write.d) import std.internal.attributes (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/internal/attributes.d) import std.array (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/array.d) import std.functional (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/functional.d) import std.conv (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/conv.d) import std.ascii (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/ascii.d) import std.range.interfaces (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/range/interfaces.d) semantic power_set import std.exception (/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../import/std/exception.d) semantic2 power_set semantic3 power_set GC stats 6M used, 6M free, 12M total code power_set /usr/bin/cc power_set.o -o power_set -L/opt/dlang/ldc2-e20e2064-osx-arm64/bin/../lib -lphobos2-ldc -ldruntime-ldc -Wl,-dead_strip -lpthread -lm -lobjc -target arm64-apple-macos15 Undefined symbols for architecture arm64: "_main", referenced from: \<initial-undefines> ld: symbol(s) not found 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 What am I doing wrong here? Thanks, Ken Wolcott
May 18
It's a code snippet, not a full program, so you can't compile it to an executable.
May 19
On Monday, 19 May 2025 at 08:55:52 UTC, Kagamin wrote:It's a code snippet, not a full program, so you can't compile it to an executable.Thank you, it is obvious now.
May 19