[Issue 19801] Linking error: ld: symbol(s) not found for architecture x86_64
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu Apr 11 07:25:01 UTC 2019
https://issues.dlang.org/show_bug.cgi?id=19801
--- Comment #10 from Jon Kleiser <jon.kleiser at icloud.com> ---
(In reply to Jon Kleiser from comment #9)
> (In reply to Seb from comment #8)
> > Hmm could it be that this is due to your installation as it looks like your
> > linking with a different standard library than your source include paths
> > have.
> > How did you install D and could you check that DMD is using them correct
> > standard library?
> > You can see the imports and linker commands when compiling with -v (e.g.
> > hello world).
>
> I installed using the installer, first dmd.2.085.0.dmg, then
> dmd.2.085.1.dmg. The same on three different Macs.
Here's the output from compiling "hello":
$ dmd -v source/app.d
predefs DigitalMars Posix OSX CppRuntime_Clang darwin LittleEndian D_Version2
all D_SIMD D_InlineAsm_X86_64 X86_64 D_LP64 D_PIC assert D_ModuleInfo
D_Exceptions D_TypeInfo D_HardFloat D_ObjectiveC
binary dmd
version v2.085.1
config /usr/local/bin/dmd.conf
DFLAGS -I/Library/D/dmd/src/phobos -I/Library/D/dmd/src/druntime/import
-L-L/Library/D/dmd/lib
parse app
importall app
import object (/Library/D/dmd/src/druntime/import/object.d)
import core.attribute
(/Library/D/dmd/src/druntime/import/core/attribute.d)
import core.internal.hash
(/Library/D/dmd/src/druntime/import/core/internal/hash.d)
import core.internal.traits
(/Library/D/dmd/src/druntime/import/core/internal/traits.d)
import core.internal.convert
(/Library/D/dmd/src/druntime/import/core/internal/convert.d)
import std.stdio (/Library/D/dmd/src/phobos/std/stdio.d)
import core.stdc.stddef
(/Library/D/dmd/src/druntime/import/core/stdc/stddef.d)
import core.stdc.stdio
(/Library/D/dmd/src/druntime/import/core/stdc/stdio.d)
import core.stdc.stdint
(/Library/D/dmd/src/druntime/import/core/stdc/stdint.d)
import core.stdc.config
(/Library/D/dmd/src/druntime/import/core/stdc/config.d)
import core.stdc.signal
(/Library/D/dmd/src/druntime/import/core/stdc/signal.d)
import core.stdc.wchar_
(/Library/D/dmd/src/druntime/import/core/stdc/wchar_.d)
import core.stdc.stdarg
(/Library/D/dmd/src/druntime/import/core/stdc/stdarg.d)
import core.stdc.stdlib
(/Library/D/dmd/src/druntime/import/core/stdc/stdlib.d)
import core.stdc.time
(/Library/D/dmd/src/druntime/import/core/stdc/time.d)
import core.sys.posix.sys.types
(/Library/D/dmd/src/druntime/import/core/sys/posix/sys/types.d)
import core.sys.posix.config
(/Library/D/dmd/src/druntime/import/core/sys/posix/config.d)
import std.algorithm.mutation
(/Library/D/dmd/src/phobos/std/algorithm/mutation.d)
import std.traits (/Library/D/dmd/src/phobos/std/traits.d)
import std.meta (/Library/D/dmd/src/phobos/std/meta.d)
import std.functional (/Library/D/dmd/src/phobos/std/functional.d)
import std.range.primitives
(/Library/D/dmd/src/phobos/std/range/primitives.d)
import std.typecons (/Library/D/dmd/src/phobos/std/typecons.d)
import std.format (/Library/D/dmd/src/phobos/std/format.d)
import core.vararg (/Library/D/dmd/src/druntime/import/core/vararg.d)
import std.exception (/Library/D/dmd/src/phobos/std/exception.d)
import std.internal.attributes
(/Library/D/dmd/src/phobos/std/internal/attributes.d)
semantic app
import core.atomic (/Library/D/dmd/src/druntime/import/core/atomic.d)
import core.stdc.errno
(/Library/D/dmd/src/druntime/import/core/stdc/errno.d)
entry main source/app.d
semantic2 app
semantic3 app
import std.utf (/Library/D/dmd/src/phobos/std/utf.d)
import core.internal.string
(/Library/D/dmd/src/druntime/import/core/internal/string.d)
import std.algorithm.comparison
(/Library/D/dmd/src/phobos/std/algorithm/comparison.d)
import core.stdc.string
(/Library/D/dmd/src/druntime/import/core/stdc/string.d)
code app
function D main
function std.stdio.writeln!string.writeln
function std.stdio.File.LockingTextWriter.put!string.put
function std.stdio.File.LockingTextWriter.put!string.put.__dgliteral2
function std.stdio.trustedFwrite!char.trustedFwrite
function std.exception.enforce!(ErrnoException).enforce!int.enforce
function std.exception.bailOut!(ErrnoException).bailOut
function object.idup!(const(char)).idup
function object._trustedDup!(const(char), immutable(char))._trustedDup
function object._dup!(const(char), immutable(char))._dup
function object._doPostblit!(immutable(char))._doPostblit
function object._getPostblit!(immutable(char))._getPostblit
function std.stdio.File.LockingTextWriter.put!(immutable(char)).put
function
std.stdio.File.LockingTextWriter.put!(immutable(char)).put.trustedFPUTC
function
std.stdio.File.LockingTextWriter.put!(immutable(char)).put.trustedFPUTWC
function std.stdio.File.LockingTextWriter.put!char.put
function std.stdio.File.LockingTextWriter.put!char.put.trustedFPUTC
function std.stdio.File.LockingTextWriter.put!char.put.trustedFPUTWC
cc app.o -o app -m64 -Xlinker -no_compact_unwind -L/Library/D/dmd/lib -lphobos2
-lpthread -lm
The contents of my /usr/local/bin/dmd.conf is this:
[Environment]
DFLAGS=-I/Library/D/dmd/src/phobos -I/Library/D/dmd/src/druntime/import
-L-L/Library/D/dmd/lib
--
More information about the Digitalmars-d-bugs
mailing list