Thread overview
some problems in dmd.2.034
Oct 13, 2009
zsxxsz
Oct 13, 2009
dsimcha
Oct 13, 2009
Robert Clipsham
Oct 13, 2009
Robert Clipsham
October 13, 2009
I'll download the new release dmd2.xxx where the new one was released. But
when I compile dmd2.xxx, I always encounter the same problem as below:
$cd dmd.2.034/dmd2/src/dmd
$make -f linux.mak

backend/dwarf.c:54:26: ../mars/mars.h: No such file or directory backend/dwarf.c: In function `void dwarf_initfile(const char*)': backend/dwarf.c:447: error: `global' was not declared in this scope make: *** [dwarf.o] Error 1

g++ -m32 -c -Wno-deprecated -D__near= -D__pascal= -fno-exceptions -O2
-Ibackend -Itk -D__I86__=1 -DMARS=1 -DTARGET_LINUX=1 -D_DH backend/dwarf.c
In file included from backend/dwarf.c:54:
backend/../mars/mars.h:246:25: complex_t.h: No such file or directory
make: *** [dwarf.o] Error 1

I have to do as below:
$mkdir mars
$cp mars.h mars/
$cp complex_t.h mars/

and continue to make -f linux.mak, then the compiling will be finish.
The problem appeared in DMD.2.xxx, including DMD.2.034. And then, in
DMD.2.034, there is a new problem when compiling druntime as below:
$cd dmd.2.034/dmd2/src/druntime/src
$ make -f dmd-posix.mak
cc -c -m32 -g core/stdc/errno.c core/threadasm.S
dmd -d -g -w -nofloat -lib -of../../lib/debug/libdruntime-core.a core/bitop.d
core/exception.d core/memory.d core/runtime.d core/thread.d core/vararg.d
core/sync/barrier.d core/sync/condition.d core/sync/config.d
core/sync/exception.d core/sync/mutex.d core/sync/rwmutex.d
core/sync/semaphore.d ../../import/core/stdc/math.d
../../import/core/stdc/stdarg.d ../../import/core/stdc/stdio.d
../../import/core/stdc/wchar_.d ../../import/core/sys/posix/netinet/in_.d
../../import/core/sys/posix/sys/select.d
../../import/core/sys/posix/sys/socket.d
../../import/core/sys/posix/sys/stat.d ../../import/core/sys/posix/sys/wait.d
errno.o threadasm.o
make[1]: execvp: dmd: Permission denied
make[1]: *** [../../lib/debug/libdruntime-core.a] Error 127
make: *** [debug] Error 2
October 13, 2009
== Quote from zsxxsz (zhengshuxin@hexun.com)'s article
> I'll download the new release dmd2.xxx where the new one was released. But
> when I compile dmd2.xxx, I always encounter the same problem as below:
> $cd dmd.2.034/dmd2/src/dmd
> $make -f linux.mak
> backend/dwarf.c:54:26: ../mars/mars.h: No such file or directory
> backend/dwarf.c: In function `void dwarf_initfile(const char*)':
> backend/dwarf.c:447: error: `global' was not declared in this scope
> make: *** [dwarf.o] Error 1
> g++ -m32 -c -Wno-deprecated -D__near= -D__pascal= -fno-exceptions -O2
> -Ibackend -Itk -D__I86__=1 -DMARS=1 -DTARGET_LINUX=1 -D_DH backend/dwarf.c
> In file included from backend/dwarf.c:54:
> backend/../mars/mars.h:246:25: complex_t.h: No such file or directory
> make: *** [dwarf.o] Error 1
> I have to do as below:
> $mkdir mars
> $cp mars.h mars/
> $cp complex_t.h mars/
> and continue to make -f linux.mak, then the compiling will be finish.
> The problem appeared in DMD.2.xxx, including DMD.2.034. And then, in
> DMD.2.034, there is a new problem when compiling druntime as below:
> $cd dmd.2.034/dmd2/src/druntime/src
> $ make -f dmd-posix.mak
> cc -c -m32 -g core/stdc/errno.c core/threadasm.S
> dmd -d -g -w -nofloat -lib -of../../lib/debug/libdruntime-core.a core/bitop.d
> core/exception.d core/memory.d core/runtime.d core/thread.d core/vararg.d
> core/sync/barrier.d core/sync/condition.d core/sync/config.d
> core/sync/exception.d core/sync/mutex.d core/sync/rwmutex.d
> core/sync/semaphore.d ../../import/core/stdc/math.d
> ../../import/core/stdc/stdarg.d ../../import/core/stdc/stdio.d
> ../../import/core/stdc/wchar_.d ../../import/core/sys/posix/netinet/in_.d
> ../../import/core/sys/posix/sys/select.d
> ../../import/core/sys/posix/sys/socket.d
> ../../import/core/sys/posix/sys/stat.d ../../import/core/sys/posix/sys/wait.d
> errno.o threadasm.o
> make[1]: execvp: dmd: Permission denied
> make[1]: *** [../../lib/debug/libdruntime-core.a] Error 127
> make: *** [debug] Error 2

http://d.puremagic.com/issues/show_bug.cgi?id=2908

Don't know why this one hasn't gotten fixed.
October 13, 2009
zsxxsz wrote:
> I'll download the new release dmd2.xxx where the new one was released. But
> when I compile dmd2.xxx, I always encounter the same problem as below:
> $cd dmd.2.034/dmd2/src/dmd
> $make -f linux.mak
> 
> backend/dwarf.c:54:26: ../mars/mars.h: No such file or directory
> backend/dwarf.c: In function `void dwarf_initfile(const char*)':
> backend/dwarf.c:447: error: `global' was not declared in this scope
> make: *** [dwarf.o] Error 1
> 
> g++ -m32 -c -Wno-deprecated -D__near= -D__pascal= -fno-exceptions -O2
> -Ibackend -Itk -D__I86__=1 -DMARS=1 -DTARGET_LINUX=1 -D_DH backend/dwarf.c
> In file included from backend/dwarf.c:54:
> backend/../mars/mars.h:246:25: complex_t.h: No such file or directory
> make: *** [dwarf.o] Error 1
> 
> I have to do as below:
> $mkdir mars
> $cp mars.h mars/
> $cp complex_t.h mars/
> 
> and continue to make -f linux.mak, then the compiling will be finish.
> The problem appeared in DMD.2.xxx, including DMD.2.034. And then, in
> DMD.2.034, there is a new problem when compiling druntime as below:
> $cd dmd.2.034/dmd2/src/druntime/src
> $ make -f dmd-posix.mak
> cc -c -m32 -g core/stdc/errno.c core/threadasm.S
> dmd -d -g -w -nofloat -lib -of../../lib/debug/libdruntime-core.a core/bitop.d
> core/exception.d core/memory.d core/runtime.d core/thread.d core/vararg.d
> core/sync/barrier.d core/sync/condition.d core/sync/config.d
> core/sync/exception.d core/sync/mutex.d core/sync/rwmutex.d
> core/sync/semaphore.d ../../import/core/stdc/math.d
> ../../import/core/stdc/stdarg.d ../../import/core/stdc/stdio.d
> ../../import/core/stdc/wchar_.d ../../import/core/sys/posix/netinet/in_.d
> ../../import/core/sys/posix/sys/select.d
> ../../import/core/sys/posix/sys/socket.d
> ../../import/core/sys/posix/sys/stat.d ../../import/core/sys/posix/sys/wait.d
> errno.o threadasm.o
> make[1]: execvp: dmd: Permission denied
> make[1]: *** [../../lib/debug/libdruntime-core.a] Error 127
> make: *** [debug] Error 2

After applying the patch for bug #2908 I get the following errors when building dmd 2 (r204) using g++ 4.2.4 on linux:
----
g++ -m32 -c -Wno-deprecated -D__near= -D__pascal= -fno-exceptions -O2 -Ibackend -Itk -D__I86__=1 -DMARS=1 -DTARGET_LINUX=1 -D_DH backend/gloop.c
backend/gloop.c:1762: error: stray '\21' in program
backend/gloop.c: In function 'void movelis(elem*, block*, loop*, int*)':
backend/gloop.c:1762: error: 'struct elem' has no member named 'E'
make: *** [gloop.o] Error 1
----
Is this just due to my GCC version or should I report a bug? That line does appear to have an odd character in it, thought I may as well check in this thread before reporting though.

Robert
October 13, 2009
Robert Clipsham wrote:
> zsxxsz wrote:
>> I'll download the new release dmd2.xxx where the new one was released. But
>> when I compile dmd2.xxx, I always encounter the same problem as below:
>> $cd dmd.2.034/dmd2/src/dmd
>> $make -f linux.mak
>>
>> backend/dwarf.c:54:26: ../mars/mars.h: No such file or directory
>> backend/dwarf.c: In function `void dwarf_initfile(const char*)':
>> backend/dwarf.c:447: error: `global' was not declared in this scope
>> make: *** [dwarf.o] Error 1
>>
>> g++ -m32 -c -Wno-deprecated -D__near= -D__pascal= -fno-exceptions -O2
>> -Ibackend -Itk -D__I86__=1 -DMARS=1 -DTARGET_LINUX=1 -D_DH backend/dwarf.c
>> In file included from backend/dwarf.c:54:
>> backend/../mars/mars.h:246:25: complex_t.h: No such file or directory
>> make: *** [dwarf.o] Error 1
>>
>> I have to do as below:
>> $mkdir mars
>> $cp mars.h mars/
>> $cp complex_t.h mars/
>>
>> and continue to make -f linux.mak, then the compiling will be finish.
>> The problem appeared in DMD.2.xxx, including DMD.2.034. And then, in
>> DMD.2.034, there is a new problem when compiling druntime as below:
>> $cd dmd.2.034/dmd2/src/druntime/src
>> $ make -f dmd-posix.mak
>> cc -c -m32 -g core/stdc/errno.c core/threadasm.S
>> dmd -d -g -w -nofloat -lib -of../../lib/debug/libdruntime-core.a core/bitop.d
>> core/exception.d core/memory.d core/runtime.d core/thread.d core/vararg.d
>> core/sync/barrier.d core/sync/condition.d core/sync/config.d
>> core/sync/exception.d core/sync/mutex.d core/sync/rwmutex.d
>> core/sync/semaphore.d ../../import/core/stdc/math.d
>> ../../import/core/stdc/stdarg.d ../../import/core/stdc/stdio.d
>> ../../import/core/stdc/wchar_.d ../../import/core/sys/posix/netinet/in_.d
>> ../../import/core/sys/posix/sys/select.d
>> ../../import/core/sys/posix/sys/socket.d
>> ../../import/core/sys/posix/sys/stat.d ../../import/core/sys/posix/sys/wait.d
>> errno.o threadasm.o
>> make[1]: execvp: dmd: Permission denied
>> make[1]: *** [../../lib/debug/libdruntime-core.a] Error 127
>> make: *** [debug] Error 2
> 
> After applying the patch for bug #2908 I get the following errors when building dmd 2 (r204) using g++ 4.2.4 on linux:
> ----
> g++ -m32 -c -Wno-deprecated -D__near= -D__pascal= -fno-exceptions -O2 -Ibackend -Itk -D__I86__=1 -DMARS=1 -DTARGET_LINUX=1 -D_DH backend/gloop.c
> backend/gloop.c:1762: error: stray '\21' in program
> backend/gloop.c: In function 'void movelis(elem*, block*, loop*, int*)':
> backend/gloop.c:1762: error: 'struct elem' has no member named 'E'
> make: *** [gloop.o] Error 1
> ----
> Is this just due to my GCC version or should I report a bug? That line does appear to have an odd character in it, thought I may as well check in this thread before reporting though.
> 
> Robert

Weird, looking at that line of code at http://www.dsource.org/projects/dmd/browser/trunk/src/backend/gloop.c?rev=204#L1762 It's fine, but even with a clean check out it's not right locally :s I'll try again later.