"Gary Willoughby" <d...@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@wyvern:~/re/test$ cat junk.d >> import std.stdio; >> void main() { >> writeln("Hi"); >> } >> jlquinn@wyvern:~/re/test$ /home/jlquinn/dmd2/linux/bin64/dmd junk.d >> jlquinn@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@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@wyvern:~/re/test$ ./junk Segmentation fault (core dumped) jlquinn@wyvern:~/re/test$