[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