gdc-4.5 testing

"Jérôme M. Berger" jeberger at free.fr
Sat Dec 18 23:53:38 PST 2010


Iain Buclaw wrote:
> Just announcing (before I nod off) that gdc is working with gcc-4.5.1. Builds D1
> and compiles Tango.
> 
> Commit:
> https://bitbucket.org/goshawk/gdc/changeset/8ac6cb4f40aa
> 
> Feedback, patches and bug reports welcome!
> 
	I was unable to compile it (ArchLinux 64 bits). Apparently it fails
when building Phobos:

> mkdir -p gcc/config
> mkdir -p x86_64-unknown-linux-gnu/gcc/config
> touch stamp-tgtdir
> cp frag-ac x86_64-unknown-linux-gnu/gcc/config/config.d
> gcc -march=k8-sse3 -O2 -pipe -g -Wall -I ../../../gcc-4.5.1-build/libphobos/../include -c -o config/x3.o ../../../gcc-4.5.1-build/libphobos/config/x3.c
> gcc: error trying to exec 'cc1': execvp: No such file or directory
> make[3]: *** [config/x3.o] Error 1
> make[3]: Leaving directory `/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos'
> make[2]: *** [all] Error 2
> make[2]: Leaving directory `/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos'
> make[1]: *** [all-target-libphobos] Error 2
> make[1]: Leaving directory `/home/jerome/abs/gdc1-hg/src/gcc-build'
> make: *** [all] Error 2
>     Aborting...

	I tried going to the x86_64-unknown-linux-gnu/libphobos folder and
typing the failing gcc command manually, it fails too. Then I tried
going to that folder and compiling a simple hello world and I got
the same result (the hello world compiles fine in another folder).
Finally, I ran the command under strace and here is the relevant
part of the trace:

> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/lto-wrapper", 0x7fff09206310) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/lto-wrapper", 0x7fff09206310) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/../../../../x86_64-unknown-linux-gnu/bin/x86_64-unknown-linux-gnu/4.5.1/lto-wrapper", 0x7fff09206310) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/../../../../x86_64-unknown-linux-gnu/bin/lto-wrapper", 0x7fff09206310) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/cc1", 0x7fff09206230) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/cc1", 0x7fff09206230) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/../../../../x86_64-unknown-linux-gnu/bin/x86_64-unknown-linux-gnu/4.5.1/cc1", 0x7fff09206230) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/../../../../x86_64-unknown-linux-gnu/bin/cc1", 0x7fff09206230) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/as", 0x7fff09206230) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/as", 0x7fff09206230) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/../../../../x86_64-unknown-linux-gnu/bin/x86_64-unknown-linux-gnu/4.5.1/as", 0x7fff09206230) = -1 ENOENT (No such file or directory)
> stat("/home/jerome/abs/gdc1-hg/src/gcc-build/x86_64-unknown-linux-gnu/libphobos/../lib/gcc/x86_64-unknown-linux-gnu/4.5.1/../../../../x86_64-unknown-linux-gnu/bin/as", 0x7fff09206230) = -1 ENOENT (No such file or directory)
> pipe([3, 4])                            = 0
> vfork(gcc: error trying to exec 'cc1': execvp: No such file or directory
> )                                 = 8557

	It appears that gcc looks for cc1 in the wrong location. It should
either take the system one
(/usr/lib/gcc/x86_64-unknown-linux-gnu/4.5.1/cc1) or one of those it
compiled itself (gcc/cc1  prev-gcc/cc1  stage1-gcc/cc1).

	The build was configured with:
> ../gcc-4.5.1/configure --prefix=/usr \
>     --enable-languages=d --enable-threads  --enable-__cxa_atexit \
>     --disable-multilib --libdir=/usr/lib --libexecdir=/usr/lib \
>     --disable-shared
> make

	I also tried adding C (--enable-languages=c,d) to no avail.

		Jerome

PS: followups to D.gnu
-- 
mailto:jeberger at free.fr
http://jeberger.free.fr
Jabber: jeberger at jabber.fr

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
URL: <http://lists.puremagic.com/pipermail/d.gnu/attachments/20101219/5b660d56/attachment.pgp>


More information about the D.gnu mailing list