DMD 2.063 produces broken binaries
Jerry
jlquinn at optonline.net
Tue Jun 4 19:30:26 PDT 2013
"Gary Willoughby" <dev at kalekold.net> writes:
> On Tuesday, 4 June 2013 at 18:03:53 UTC, Jerry wrote:
>> Hi folks,
>>
>> I've downloaded the current dmd 2.063 zip and tried it out. This is
>> Ubuntu 12.10 x86_64. Every program I compile segfaults when I try to
>> run it. As a simple example:
>>
>> jlquinn at wyvern:~/re/test$ cat junk.d
>> import std.stdio;
>> void main() {
>> writeln("Hi");
>> }
>> jlquinn at wyvern:~/re/test$ /home/jlquinn/dmd2/linux/bin64/dmd junk.d
>> jlquinn at wyvern:~/re/test$ ./junk
>> Segmentation fault (core dumped)
>>
>> The gdb backtrace is somewhere in __libc_start_main, before main() is
>> run.
>>
>> I assume I'm not in the majority, but I literally can't compile and run
>> anything.
>>
>> Any help would be appreciated
>> Thanks
>> Jerry
>
> Try compiling with the -v -w flags for more verbose output. It may be an
> installation problem.
jlquinn at wyvern:~/re/test$ /home/jlquinn/dmd2/linux/bin64/dmd -v -w junk.d
binary /home/jlquinn/dmd2/linux/bin64/dmd
version v2.063
config /home/jlquinn/dmd2/linux/bin64/dmd.conf
parse junk
importall junk
import object (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/object.di)
import std.stdio (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/stdio.d)
import core.stdc.stdio (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/stdio.d)
import core.stdc.config (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/config.d)
import core.stdc.stddef (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/stddef.d)
import core.stdc.stdarg (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/stdarg.d)
import std.string (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/string.d)
import core.exception (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/exception.d)
import core.vararg (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/vararg.d)
import core.stdc.stdlib (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/stdlib.d)
import core.stdc.string (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/string.d)
import std.algorithm (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/algorithm.d)
import std.c.string (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/c/string.d)
import core.bitop (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/bitop.d)
import std.array (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/array.d)
import core.memory (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/memory.d)
import std.ascii (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/ascii.d)
import std.conv (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/conv.d)
import std.math (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/math.d)
import core.stdc.math (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/math.d)
import std.range (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/range.d)
import std.exception (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/exception.d)
import std.traits (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/traits.d)
import std.typetuple (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/typetuple.d)
import std.typecons (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/typecons.d)
import std.format (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/format.d)
import std.bitmanip (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/bitmanip.d)
import std.system (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/system.d)
import std.functional (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/functional.d)
import std.utf (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/utf.d)
import core.stdc.errno (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/errno.d)
import std.uni (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/uni.d)
import std.container (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/container.d)
import std.random (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/random.d)
import std.c.time (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/c/time.d)
import core.stdc.time (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/time.d)
import std.numeric (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/numeric.d)
import std.c.stdlib (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/c/stdlib.d)
import std.complex (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/complex.d)
import core.thread (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/thread.di)
import core.time (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/time.d)
import core.sys.posix.time (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/time.d)
import core.sys.posix.config (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/config.d)
import core.sys.posix.sys.types (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/sys/types.d)
import core.stdc.stdint (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/stdint.d)
import core.stdc.signal (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/signal.d)
import core.stdc.wchar_ (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/wchar_.d)
import core.sys.posix.signal (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/signal.d)
import core.sys.posix.sys.time (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/sys/time.d)
import core.sys.posix.sys.select (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/sys/select.d)
import core.sys.posix.unistd (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/unistd.d)
import core.sys.posix.inttypes (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/inttypes.d)
import core.stdc.inttypes (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/stdc/inttypes.d)
import std.regex (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/regex.d)
import std.internal.uni (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/internal/uni.d)
import std.internal.uni_tab (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/internal/uni_tab.d)
import std.c.stdio (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/c/stdio.d)
import std.stdiobase (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/stdiobase.d)
import core.sys.posix.stdio (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/stdio.d)
import std.c.linux.linux (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/c/linux/linux.d)
import std.c.linux.pthread (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/c/linux/pthread.d)
import core.sys.posix.dirent (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/dirent.d)
import core.sys.posix.dlfcn (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/dlfcn.d)
import core.sys.posix.fcntl (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/fcntl.d)
import core.sys.posix.sys.stat (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/sys/stat.d)
import core.sys.posix.pwd (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/pwd.d)
import core.sys.posix.utime (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/utime.d)
import core.sys.posix.sys.mman (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/sys/mman.d)
import core.sys.posix.sys.wait (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/sys/wait.d)
import std.c.linux.socket (/home/jlquinn/dmd2/linux/bin64/../../src/phobos/std/c/linux/socket.d)
import core.sys.posix.arpa.inet (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/arpa/inet.d)
import core.sys.posix.sys.socket (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/sys/socket.d)
import core.sys.posix.sys.uio (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/sys/uio.d)
import core.sys.posix.netdb (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/netdb.d)
import core.sys.posix.netinet.in_ (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/netinet/in_.d)
import core.sys.posix.netinet.tcp (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/netinet/tcp.d)
semantic junk
import core.sys.posix.pthread (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/pthread.d)
import core.sys.posix.sched (/home/jlquinn/dmd2/linux/bin64/../../src/druntime/import/core/sys/posix/sched.d)
entry main junk.d
semantic2 junk
semantic3 junk
code junk
function D main
function std.traits.Demangle!(uint).Demangle.__xopEquals
function std.complex.Complex!(real).Complex.toString
function std.complex.Complex!(real).Complex.toString.__lambda1314
function std.complex.Complex!(real).Complex.__xopEquals
function std.complex.Complex!(real).Complex.opAssign!(real).opAssign
function std.complex.Complex!(real).Complex.opEquals!(real).opEquals
function std.stdio.writeln!(string).writeln
function std.stdio.writeln!(string).writeln.__dgliteral1469
function std.exception.enforce!(bool).enforce
function object.reserve!(char).reserve
function std.format.formattedWrite!(void delegate(const(char)[]), char, const(real)).formattedWrite
function std.format.formattedWrite!(void delegate(const(char)[]), char, const(real)).formattedWrite.__dgliteral1642
function std.format.FormatSpec!(char).FormatSpec.flDash
function std.format.FormatSpec!(char).FormatSpec.flDash
function std.format.FormatSpec!(char).FormatSpec.flZero
function std.format.FormatSpec!(char).FormatSpec.flZero
function std.format.FormatSpec!(char).FormatSpec.flSpace
function std.format.FormatSpec!(char).FormatSpec.flSpace
function std.format.FormatSpec!(char).FormatSpec.flPlus
function std.format.FormatSpec!(char).FormatSpec.flPlus
function std.format.FormatSpec!(char).FormatSpec.flHash
function std.format.FormatSpec!(char).FormatSpec.flHash
function std.format.FormatSpec!(char).FormatSpec.this
function std.format.FormatSpec!(char).FormatSpec.fillUp
function std.format.FormatSpec!(char).FormatSpec.fillUp.check
function std.format.FormatSpec!(char).FormatSpec.fillUp.check.__dgliteral1530
function std.format.FormatSpec!(char).FormatSpec.fillUp.__dgliteral1629
function std.format.FormatSpec!(char).FormatSpec.fillUp.__dgliteral1630
function std.format.FormatSpec!(char).FormatSpec.fillUp.__dgliteral1636
function std.format.FormatSpec!(char).FormatSpec.fillUp.__dgliteral1641
function std.format.FormatSpec!(char).FormatSpec.getCurFmtStr
function std.format.FormatSpec!(char).FormatSpec.headUpToNextSpec
function std.format.FormatSpec!(char).FormatSpec.toString
function std.format.FormatSpec!(char).FormatSpec.__xopEquals
function std.format.formatGeneric!(void delegate(const(char)[]), const(real), char).formatGeneric
function std.format.formatValue!(void delegate(const(char)[]), const(real), char).formatValue
function std.format.formatValue!(void delegate(const(char)[]), const(real), char).formatValue.__dgliteral1519
function std.format.formatValue!(void delegate(const(char)[]), const(real), char).formatValue.__dgliteral1520
function std.range.put!(void delegate(const(char)[]), const(char)).put
function std.array.empty!(char).empty
function std.array.popFront!(immutable(char)).popFront
function std.array.front!(immutable(char)).front
function std.utf.decode!(string).decode
function std.utf.decodeImpl!(true, string).decodeImpl
function std.utf.decodeImpl!(true, string).decodeImpl.invalidUTF
function std.utf.decodeImpl!(true, string).decodeImpl.outOfBounds
function std.utf.decodeImpl!(true, string).decodeImpl.exception!(string).exception
function std.functional.binaryFun!("a == b").binaryFun!(dchar, char).binaryFun
function std.array.save!(immutable(char)).save
function std.array.popBack!(immutable(char)).popBack
function std.utf.strideBack!(string).strideBack
function std.array.back!(immutable(char)).back
function std.algorithm.find!("a == b", string, char).find
function std.exception.enforceEx!(FormatException).enforceEx!(ulong).enforceEx
function std.exception.enforceEx!(FormatException).enforceEx!(bool).enforceEx
function std.range.put!(void delegate(const(char)[]), char[]).put
function std.format.FormatSpec!(char).FormatSpec.writeUpToNextSpec!(void delegate(const(char)[])).writeUpToNextSpec
function std.range.put!(void delegate(const(char)[]), const(char)[]).put
function std.conv.text!(string, const(char)[]).text
function std.conv.textImpl!(string, string, const(char)[]).textImpl
function std.conv.to!(string).to!(string).to
function std.conv.toImpl!(string, string).toImpl
function std.conv.to!(string).to!(const(char)[]).to
function std.conv.toImpl!(string, const(char)[]).toImpl
function std.conv.to!(const(char)[]).to!(const(char)[]).to
function std.conv.toImpl!(const(char)[], const(char)[]).toImpl
function std.array.front!(const(char)).front
function std.utf.decode!(const(char)[]).decode
function std.array.popFront!(const(char)).popFront
function std.utf.decodeImpl!(true, const(char)[]).decodeImpl
function std.utf.decodeImpl!(true, const(char)[]).decodeImpl.invalidUTF
function std.utf.decodeImpl!(true, const(char)[]).decodeImpl.outOfBounds
function std.utf.decodeImpl!(true, const(char)[]).decodeImpl.exception!(const(char)[]).exception
function std.conv.parse!(int, const(char)[]).parse
function std.conv.convError!(const(char)[], int).convError
function std.conv.convError_unexpected!(const(char)[]).convError_unexpected
function std.conv.text!(string, dchar, string).text
function std.conv.textImpl!(string, string, dchar, string).textImpl
function std.conv.to!(string).to!(dchar).to
function std.conv.toImpl!(string, dchar).toImpl
function std.conv.toStr!(string, dchar).toStr
function std.array.appender!(string, immutable(char)).appender
function std.array.Appender!(string).Appender.Data.__xopEquals
function std.array.Appender!(string).Appender.this
function std.array.Appender!(string).Appender.reserve
function std.array.Appender!(string).Appender.capacity
function std.array.Appender!(string).Appender.data
function std.array.Appender!(string).Appender.ensureAddable
function std.array.Appender!(string).Appender.newCapacity
function object.capacity!(immutable(char)).capacity
function std.format.formatValue!(Appender!(string), dchar, char).formatValue
function std.range.put!(Appender!(string), dchar).put
function std.array.Appender!(string).Appender.put!(dchar).put
function std.array.popFront!(char).popFront
function std.array.front!(char).front
function std.utf.decode!(char[]).decode
function std.utf.decodeImpl!(true, char[]).decodeImpl
function std.utf.decodeImpl!(true, char[]).decodeImpl.invalidUTF
function std.utf.decodeImpl!(true, char[]).decodeImpl.outOfBounds
function std.utf.decodeImpl!(true, char[]).decodeImpl.exception!(char[]).exception
function std.array.Appender!(string).Appender.put!(char[]).put
function std.format.formatValue!(Appender!(string), uint, char).formatValue
function std.range.put!(Appender!(string), const(char)).put
function std.array.Appender!(string).Appender.put!(const(char)).put
function std.format.formatIntegral!(Appender!(string), ulong, char).formatIntegral
function std.format.formatIntegral!(Appender!(string), ulong, char).formatIntegral.__dgliteral1619
function std.format.formatUnsigned!(Appender!(string), char).formatUnsigned
function std.range.put!(Appender!(string), char).put
function std.array.Appender!(string).Appender.put!(char).put
function std.range.put!(Appender!(string), char[]).put
function std.conv.text!(string, string, string).text
function std.conv.textImpl!(string, string, string, string).textImpl
function std.conv.parse!(uint, const(char)[]).parse
function std.conv.convError!(const(char)[], uint).convError
function std.algorithm.startsWith!("a == b", const(char)[], char).startsWith
function std.conv.to!(ubyte).to!(const(uint)).to
function std.conv.toImpl!(ubyte, const(uint)).toImpl
function std.conv.parse!(ubyte, const(char)[]).parse
function std.conv.convError!(const(char)[], ubyte).convError
function std.conv.to!(int).to!(const(uint)).to
function std.conv.toImpl!(int, const(uint)).toImpl
function std.conv.toImpl!(int, const(uint)).toImpl.__dgliteral1640
function std.exception.enforce!(bool).enforce
function std.format.getNthInt!(const(real)).getNthInt
function std.format.getNthInt!().getNthInt
function std.conv.to!(int).to!(int).to
function std.conv.toImpl!(int, int).toImpl
function std.format.formatNth!(void delegate(const(char)[]), char, const(real)).formatNth
function std.format.formatNth!(void delegate(const(char)[]), char, const(real)).formatNth.gencode!(1LU).gencode
function std.conv.to!(string).to!(ulong).to
function std.conv.toImpl!(string, ulong).toImpl
function std.conv.toStr!(string, ulong).toStr
function std.format.formatValue!(Appender!(string), ulong, char).formatValue
function std.format.formatValue!(Appender!(string), const(ubyte), char).formatValue
function std.format.formatValue!(Appender!(string), const(int), char).formatValue
function std.format.formatIntegral!(Appender!(string), long, char).formatIntegral
function std.format.formatIntegral!(Appender!(string), long, char).formatIntegral.__dgliteral1690
function std.array.appender!(const(char)[], const(char)).appender
function std.array.Appender!(const(char)[]).Appender.Data.__xopEquals
function std.array.Appender!(const(char)[]).Appender.this
function std.array.Appender!(const(char)[]).Appender.reserve
function std.array.Appender!(const(char)[]).Appender.capacity
function std.array.Appender!(const(char)[]).Appender.data
function std.array.Appender!(const(char)[]).Appender.ensureAddable
function std.array.Appender!(const(char)[]).Appender.newCapacity
function object.capacity!(const(char)).capacity
function std.array.Appender!(const(char)[]).Appender.put!(char).put
function std.array.Appender!(const(char)[]).Appender.put!(dchar).put
function std.array.Appender!(const(char)[]).Appender.put!(char[]).put
function std.conv.text!(string, void*, string, int, string, int, string, char, string, ubyte, string, ubyte, string, bool, string, bool, string, bool, string, bool, string, bool, string, const(char)[], string, const(char)[], string).text
function std.conv.textImpl!(string, string, void*, string, int, string, int, string, char, string, ubyte, string, ubyte, string, bool, string, bool, string, bool, string, bool, string, bool, string, const(char)[], string, const(char)[], string).textImpl
function std.conv.to!(string).to!(void*).to
function std.conv.toImpl!(string, void*).toImpl
function std.conv.toStr!(string, void*).toStr
function std.format.formatValue!(Appender!(string), void*, char).formatValue
function std.format.formatValue!(Appender!(string), void*, char).formatValue.__dgliteral1720
function std.range.put!(Appender!(string), string).put
function std.array.Appender!(string).Appender.put!(string).put
function std.conv.to!(string).to!(int).to
function std.conv.toImpl!(string, int).toImpl
function std.conv.toStr!(string, int).toStr
function std.format.formatValue!(Appender!(string), int, char).formatValue
function std.conv.to!(string).to!(char).to
function std.conv.toImpl!(string, char).toImpl
function std.conv.toStr!(string, char).toStr
function std.format.formatValue!(Appender!(string), char, char).formatValue
function std.conv.to!(string).to!(ubyte).to
function std.conv.toImpl!(string, ubyte).toImpl
function std.conv.toStr!(string, ubyte).toStr
function std.format.formatValue!(Appender!(string), ubyte, char).formatValue
function std.conv.to!(string).to!(bool).to
function std.conv.toImpl!(string, bool).toImpl
function std.conv.toStr!(string, bool).toStr
function std.format.formatValue!(Appender!(string), bool, char).formatValue
gcc junk.o -o junk -m64 -L/home/jlquinn/dmd2/linux/bin64/../lib64 -L/home/jlquinn/dmd2/linux/bin64/../lib32 -Xlinker --no-warn-search-mismatch -Xlinker --export-dynamic -l:libphobos2.a -lpthread -lm -lrt
jlquinn at wyvern:~/re/test$ ./junk
Segmentation fault (core dumped)
jlquinn at wyvern:~/re/test$
More information about the Digitalmars-d
mailing list