www.digitalmars.com         C & C++   DMDScript  

D.gnu - Cannot build GDC 0.18 alpha

reply Andrew Madigan <amadigan gmail.com> writes:
I'm using the source from http://www.puremagic.com/~braddr/d/gdc/

I get the following error from make:

make[1]: Entering directory `/home/nnnnn/local/build/gcc-4.0.3/build/gcc'
make[1]: *** No rule to make target `d/idgen.dmdgen.o', needed by `d/idgen'. 
Stop.
make[1]: Leaving directory `/home/nnnnn/local/build/gcc-4.0.3/build/gcc'

Evironment:

Ubuntu Dapper
Linux Kernel 2.6.15-20-686
First Line of output from gcc --version:
gcc (GCC) 4.0.3 (gdc 0.17, using dmd 0.140)
GNU Make

As you can see this system was able to build gdc 0.17, is 0.18 not
buildable?
Apr 14 2006
parent reply Brad Roberts <braddr puremagic.com> writes:
On Fri, 14 Apr 2006, Andrew Madigan wrote:

 I'm using the source from http://www.puremagic.com/~braddr/d/gdc/

That wasn't meant for public consumption, but whatever.
 I get the following error from make:
 
 make[1]: Entering directory `/home/nnnnn/local/build/gcc-4.0.3/build/gcc'
 make[1]: *** No rule to make target `d/idgen.dmdgen.o', needed by `d/idgen'. 
 Stop.
 make[1]: Leaving directory `/home/nnnnn/local/build/gcc-4.0.3/build/gcc'

The same make logic is in 0.17, from d/Make-lang.in: # Make these static because C++ shared libraries are not installed while # bootstrapping. d/impcvgen: d/impcnvgen.dmdgen.o $(CXX) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -o $ $^ #hmm $(CC) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -static -o $ $^ -lstdc++ # -static d/idgen: d/idgen.dmdgen.o $(CXX) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -o $ $^ #argh "-static" wont' work on macosx...? what to do? #hmm $(CC) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -static -o $ $^ -lstdc++ d/impcnvtab.c: d/impcvgen cd d && ./impcvgen d/id.c: d/idgen cd d && ./idgen # idgen also generates id.h; just verify id.h exists d/id.h: d/id.c ls d/id.h ========================= Not sure what you're doing to trigger it. It's not causing me any problems with 0.17 or 0.18. How are you configuring gcc and how are you building it? Later, Brad
Apr 14 2006
parent reply Andrew Madigan <amadigan gmail.com> writes:
Brad Roberts wrote:

 On Fri, 14 Apr 2006, Andrew Madigan wrote:
 
 I'm using the source from http://www.puremagic.com/~braddr/d/gdc/

That wasn't meant for public consumption, but whatever.
 I get the following error from make:
 
 make[1]: Entering directory `/home/nnnnn/local/build/gcc-4.0.3/build/gcc'
 make[1]: *** No rule to make target `d/idgen.dmdgen.o', needed by
 `d/idgen'. Stop.
 make[1]: Leaving directory `/home/nnnnn/local/build/gcc-4.0.3/build/gcc'

The same make logic is in 0.17, from d/Make-lang.in: # Make these static because C++ shared libraries are not installed while # bootstrapping. d/impcvgen: d/impcnvgen.dmdgen.o $(CXX) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -o $ $^ #hmm $(CC) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -static -o $ $^ -lstdc++ # -static d/idgen: d/idgen.dmdgen.o $(CXX) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -o $ $^ #argh "-static" wont' work on macosx...? what to do? #hmm $(CC) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -static -o $ $^ -lstdc++ d/impcnvtab.c: d/impcvgen cd d && ./impcvgen d/id.c: d/idgen cd d && ./idgen # idgen also generates id.h; just verify id.h exists d/id.h: d/id.c ls d/id.h ========================= Not sure what you're doing to trigger it. It's not causing me any problems with 0.17 or 0.18. How are you configuring gcc and how are you building it? Later, Brad

Wow, don't I feel like an idiot, I just realized that the gcc I built the last time for gdc doesn't have a C++ compiler, I'll try adding the g++ sources in and reply in a few minutes.
Apr 14 2006
parent reply Andrew Madigan <amadigan gmail.com> writes:
Andrew Madigan wrote:

 Brad Roberts wrote:
 
 On Fri, 14 Apr 2006, Andrew Madigan wrote:
 
 I'm using the source from http://www.puremagic.com/~braddr/d/gdc/

That wasn't meant for public consumption, but whatever.
 I get the following error from make:
 
 make[1]: Entering directory
 `/home/nnnnn/local/build/gcc-4.0.3/build/gcc' make[1]: *** No rule to
 make target `d/idgen.dmdgen.o', needed by `d/idgen'. Stop.
 make[1]: Leaving directory `/home/nnnnn/local/build/gcc-4.0.3/build/gcc'

The same make logic is in 0.17, from d/Make-lang.in: # Make these static because C++ shared libraries are not installed while # bootstrapping. d/impcvgen: d/impcnvgen.dmdgen.o $(CXX) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -o $ $^ #hmm $(CC) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -static -o $ $^ #-lstdc++ # -static d/idgen: d/idgen.dmdgen.o $(CXX) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -o $ $^ #argh "-static" wont' work on macosx...? what to do? #hmm $(CC) $(ALL_D_COMPILER_FLAGS) $(LDFLAGS) -static -o $ $^ #-lstdc++ d/impcnvtab.c: d/impcvgen cd d && ./impcvgen d/id.c: d/idgen cd d && ./idgen # idgen also generates id.h; just verify id.h exists d/id.h: d/id.c ls d/id.h ========================= Not sure what you're doing to trigger it. It's not causing me any problems with 0.17 or 0.18. How are you configuring gcc and how are you building it? Later, Brad

Wow, don't I feel like an idiot, I just realized that the gcc I built the last time for gdc doesn't have a C++ compiler, I'll try adding the g++ sources in and reply in a few minutes.

Allright, tried building using the host compiler (exact same environment as used for the 0.17 compile). Now I get this error: ../../gcc/d/d-codegen.cc:2340: error: ‘STATIC_CHAIN_EXPR’ was not declared in this scope Plus lots of warnings. Any suggestions? (My host gcc is 4.0.3)
Apr 15 2006
parent Thomas Kuehne <thomas-dloop kuehne.cn> writes:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Andrew Madigan schrieb am 2006-04-15:
 Allright, tried building using the host compiler (exact same environment as
 used for the 0.17 compile). Now I get this error:

 ../../gcc/d/d-codegen.cc:2340: error: ?STATIC_CHAIN_EXPR? was not declared
 in this scope

 Plus lots of warnings. Any suggestions? (My host gcc is 4.0.3)

GCC's 3.4 branch works without problems. 4.0 and 4.1 contain a lot of internal changes - even with their own branches. Thomas -----BEGIN PGP SIGNATURE----- iD8DBQFEQnfM3w+/yD4P9tIRAiA0AKCqYYJD1L9nl+PtnNRh8mZzjkHOAQCeNz7H yUE9613NavHpfI3z5Hr8Trc= =mEq7 -----END PGP SIGNATURE-----
Apr 16 2006