Thread overview |
---|
February 18, 2010 Compile Phobos library ? | ||||
---|---|---|---|---|
| ||||
DMD2.040 on linux: When I try to build phobos library with make -f linux.mak, I got : dmd -w -O -release -nofloat -d -lib -ofobj/posix/release/libphobos2.a crc32.d std/algorithm.d std/array.d std/atomics.d std/base64.d std/bigint.d std/bitmanip.d std/boxer.d std/compiler.d std/complex.d std/contracts.d std/conv.d std/cpuid.d std/cstream.d std/ctype.d std/date.d std/datebase.d std/dateparse.d std/demangle.d std/encoding.d std/file.d std/format.d std/functional.d std/getopt.d std/intrinsic.d std/iterator.d std/json.d std/loader.d std/math.d std/md5.d std/metastrings.d std/mmfile.d std/numeric.d std/outbuffer.d std/path.d std/perf.d std/process.d std/random.d std/range.d std/regex.d std/regexp.d std/signals.d std/socket.d std/socketstream.d std/stdint.d std/stdio.d std/stdiobase.d std/stream.d std/string.d std/syserror.d std/system.d std/traits.d std/typecons.d std/typetuple.d std/uni.d std/uri.d std/utf.d std/variant.d std/xml.d std/zip.d std/zlib.d std/c/stdarg.d std/c/stdio.d etc/c/zlib.d std/c/linux/linux.d std/c/linux/socket.d obj/posix/release/etc/c/zlib/adler32.o obj/posix/release/etc/c/zlib/compress.o obj/posix/release/etc/c/zlib/crc32.o obj/posix/release/etc/c/zlib/gzio.o obj/posix/release/etc/c/zlib/uncompr.o obj/posix/release/etc/c/zlib/deflate.o obj/posix/release/etc/c/zlib/trees.o obj/posix/release/etc/c/zlib/zutil.o obj/posix/release/etc/c/zlib/inflate.o obj/posix/release/etc/c/zlib/infback.o obj/posix/release/etc/c/zlib/inftrees.o obj/posix/release/etc/c/zlib/inffast.o libdruntime.a make: *** [obj/posix/release/libphobos2.a] Segmentation fault (core dumped) libdruntime.a is needed, so I compiled it and got no error, but libphobos2.a doesn't build. Am I missing something ? Thanks ! GG |
February 18, 2010 Re: Compile Phobos library ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to GG | On 02/17/2010 07:09 PM, GG wrote: > DMD2.040 on linux: > > When I try to build phobos library with make -f linux.mak, I got : > dmd -w -O -release -nofloat -d -lib -ofobj/posix/release/libphobos2.a crc32.d std/algorithm.d std/array.d std/atomics.d std/base64.d std/bigint.d std/bitmanip.d std/boxer.d std/compiler.d std/complex.d std/contracts.d std/conv.d std/cpuid.d std/cstream.d std/ctype.d std/date.d std/datebase.d std/dateparse.d std/demangle.d std/encoding.d std/file.d std/format.d std/functional.d std/getopt.d std/intrinsic.d std/iterator.d std/json.d std/loader.d std/math.d std/md5.d std/metastrings.d std/mmfile.d std/numeric.d std/outbuffer.d std/path.d std/perf.d std/process.d std/random.d std/range.d std/regex.d std/regexp.d std/signals.d std/socket.d std/socketstream.d std/stdint.d std/stdio.d std/stdiobase.d std/stream.d std/string.d std/syserror.d std/system.d std/traits.d std/typecons.d std/typetuple.d std/uni.d std/uri.d std/utf.d std/variant.d std/xml.d std/zip.d std/zlib.d std/c/stdarg.d std/c/stdio.d etc/c/zlib.d std/c/linux/linux.d std/c/linux/socket.d obj/posix/release/etc/c/zlib /adler32.o obj/posix/release/etc/c/zlib/compress.o obj/posix/release/etc/c/zlib/crc32.o obj/posix/release/etc/c/zlib/gzio.o obj/posix/release/etc/c/zlib/uncompr.o obj/posix/release/etc/c/zlib/deflate.o obj/posix/release/etc/c/zlib/trees.o obj/posix/release/etc/c/zlib/zutil.o obj/posix/release/etc/c/zlib/inflate.o obj/posix/release/etc/c/zlib/infback.o obj/posix/release/etc/c/zlib/inftrees.o obj/posix/release/etc/c/zlib/inffast.o libdruntime.a > make: *** [obj/posix/release/libphobos2.a] Segmentation fault (core dumped) > > libdruntime.a is needed, so I compiled it and got no error, but libphobos2.a doesn't build. > Am I missing something ? > > Thanks ! > GG fwiw, I tried compiling a project I wrote last semester with 2.040 (and 2.038) a few days ago and got the same output. Something in DMD seems to have broken since 2.035 |
February 18, 2010 Re: Compile Phobos library ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to GG | Hello GG, > DMD2.040 on linux: > > When I try to build phobos library with make -f linux.mak, I got : > [...] > > make: *** [obj/posix/release/libphobos2.a] Segmentation fault (core > dumped) > > libdruntime.a is needed, so I compiled it and got no error, but > libphobos2.a doesn't build. Am I missing something ? can you try that with a debug build of DMD under GDB and get a stack trace? It might help finding/fixing the error. > Thanks ! > GG -- ... <IXOYE>< |
February 18, 2010 Re: Compile Phobos library ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to BCS | Hello ! I have already used gdb to debug program compiled with dmd, but never link gdb with DMD at same time. I found on google something like this : nameofprogram -g -d gdb But when I try with DMD like : DMD -g -d gdb [...] , the compiler DMD look for a .d file (cannot read file gdb.d) Of course, it's normal. So could you explain me how to link gdb with DMD ? Is there an option parameter to pass to DMD? Thanks ! GG |
February 18, 2010 Re: Compile Phobos library ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to GG | Hello GG, > Hello ! > > I have already used gdb to debug program compiled with dmd, but never > link gdb with DMD at same time. > > I found on google something like this : nameofprogram -g -d gdb > > But when I try with DMD like : DMD -g -d gdb [...] , the compiler DMD > look for a .d file (cannot read file gdb.d) Of course, it's normal. > > So could you explain me how to link gdb with DMD ? Is there an option > parameter to pass to DMD? > I was suggesting running DMD under the debugger as you would any other program: gdb dmd r -g -d files.d You might have to make a debug build of DMD but that's easy (a one line change in linux.mak and run it) -- ... <IXOYE>< |
February 18, 2010 Re: Compile Phobos library ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to BCS | Thanks you very much for your explanation ! I got it work with gdb and got this: If I pass to dmd : r -g -d -lib -ofobj/posix/release/libphobos2.a [all .d and .o files] ../druntime/libdruntime.a, I get this : Program received signal SIGSEGV, Segmentation fault. ---Type <return> to continue, or q <return> to quit--- 0x0816c5d8 in StringTable::lookup (this=0x96a4618, s=0x81f518c "object", len=6) at root/stringtable.c:100 100 se = *(StringEntry **)search(s,len); ------------------------------ But if I try pass to dmd : r -g -d [all .d and .o files], I get this : Program received signal SIGSEGV, Segmentation fault. 0x0816c6b3 in Dchar::memcmp (s1=0x81f517c "object", s2=0x96a47cc "object", ---Type <return> to continue, or q <return> to quit--- nchars=6) at root/dchar.h:161 161 static int memcmp(const dchar *s1, const dchar *s2, int nchars) { return ::memcmp(s1, s2, nchars); } ------------------------------ I hope it can help ! Thanks ! GG |
February 18, 2010 Re: Compile Phobos library ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to GG | Hello GG, > Thanks you very much for your explanation ! I got it work with gdb and > got this: > [...] I don't know enough about the internals to be able to help you beyond maybe converting the seg-v into an assert (but you should be able to do that yourself). Someone else might be able to do something with a stack trace but if you can get a reproducible test case, post it to the bugzilla. Oh, and if you can convert it to an assert, post a patch for that to the bugzilla as well. PS. It's generally a good idea to keep some context (at least the auto generated "so and so wrote:" line) from the post you are responding to as it makes it easier for people to find replies to what they posted. -- ... <IXOYE>< |
February 18, 2010 Re: Compile Phobos library ? | ||||
---|---|---|---|---|
| ||||
Posted in reply to BCS | Hello BCS ! > Hello GG, > > > Thanks you very much for your explanation ! I got it work with gdb and got this: > > > [...] > > I don't know enough about the internals to be able to help you beyond maybe converting the seg-v into an assert (but you should be able to do that yourself). > > Someone else might be able to do something with a stack trace but if you can get a reproducible test case, post it to the bugzilla. > > Oh, and if you can convert it to an assert, post a patch for that to the bugzilla as well. > > PS. It's generally a good idea to keep some context (at least the auto generated "so and so wrote:" line) from the post you are responding to as it makes it easier for people to find replies to what they posted. > > -- > ... <IXOYE>< Ok ! It's a good idea ! I will keep the auto generated text. Today I thought about that, and I realized that the only thing that I changed is this : http://d.puremagic.com/issues/show_bug.cgi?id=3692, I applied the patch (download mtype.c and replace file to /dmd2/src/dmd) After that, I compiled a new DMD and put DMD to my environement path. And next, try to compile libphobos, give me segmentation fault ! And if I roll back the patch, I can compile libphobos without any error ! So the problem is localized, at now I have no idea to solve this bug. Thanks ! GG |
Copyright © 1999-2021 by the D Language Foundation