Re: Missing dependencies in m2/ ?
Jeff Law writes: > I'm still seeing it as of about 2 hours ago: > > http://law-sandy.freeddns.org:8080/job/avr-elf/2125/console > > A good run (yesterday): > > http://law-sandy.freeddns.org:8080/job/avr-elf/2124/console > > Hi Jeff, many thanks for the urls above - useful I'll attempt to reproduce the gcc compile. > However, I did find that my scripts were enabling all languages -- > sorry I stated otherwise and blamed it on the M2 front-end. No problem at all - it allowed me to find I was using wrong version of autoconf :-). > THe only issue we need to resolve is the dependency problems. Yes indeed, I think I've found some missing dependencies which I'll push to git when the bootstrap completes. In the meantime here is the patch: regards, Gaius --- o< --- o< --- o< --- o< --- o< --- o< --- o< diff --git a/gcc/m2/Make-lang.in b/gcc/m2/Make-lang.in index 08d0f3b963f..5c173f22540 100644 --- a/gcc/m2/Make-lang.in +++ b/gcc/m2/Make-lang.in @@ -1360,7 +1360,7 @@ m2/boot-bin/mc$(exeext): $(BUILD-MC-BOOT-O) $(BUILD-MC-INTERFACE-O) \ $(BUILD-MC-INTERFACE-O) m2/mc-boot/main.o \ mcflex.o m2/gm2-libs-boot/RTcodummy.o -lm -m2/mc-boot/$(SRC_PREFIX)%.o: m2/mc-boot/$(SRC_PREFIX)%.c +m2/mc-boot/$(SRC_PREFIX)%.o: m2/mc-boot/$(SRC_PREFIX)%.c m2/gm2-libs/gm2-libs-host.h $(CXX) -g -c -I. -I$(srcdir)/m2/mc-boot-ch -I$(srcdir)/m2/mc-boot -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) $< -o $@ m2/mc-boot-ch/$(SRC_PREFIX)%.o: m2/mc-boot-ch/$(SRC_PREFIX)%.c m2/gm2-libs/gm2-libs-host.h @@ -1373,7 +1373,7 @@ m2/mc-boot/main.o: $(M2LINK) $(srcdir)/m2/init/mcinit unset CC ; $(M2LINK) -s --langc++ --exit --name m2/mc-boot/main.c $(srcdir)/m2/init/mcinit $(CXX) -g -c -I. -I$(srcdir)/../include -I$(srcdir) $(INCLUDES) m2/mc-boot/main.c -o $@ -mcflex.o: mcflex.c +mcflex.o: mcflex.c m2/gm2-libs/gm2-libs-host.h $(CC) -I$(srcdir)/m2/mc -g -c $< -o $@ # remember that mcReserved.h is copied into m2/mc mcflex.c: $(srcdir)/m2/mc/mc.flex
Re: Missing dependencies in m2/ ?
On 1/8/23 21:18, Gaius Mulley wrote: Jeff Law via Gcc-patches writes: I've been getting sporatic errors like this since the introduction of the modula-2 front-end: In file included from ../../..//gcc/gcc/m2/mc-boot/GSFIO.c:29: ../../..//gcc/gcc/system.h:556:20: error: conflicting declaration of C function 'const char* strsignal(int)' 556 | extern const char *strsignal (int); |^ In file included from /usr/include/c++/12/cstring:42, from ../../..//gcc/gcc/system.h:241: /usr/include/string.h:478:14: note: previous declaration 'char* strsignal(int)' 478 | extern char *strsignal (int __sig) __THROW; | ^ In file included from ../../..//gcc/gcc/system.h:707: ../../..//gcc/gcc/../include/libiberty.h:112:14: error: ambiguating new declaration of 'char* basename(const char*)' 112 | extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1); | ^~~~ /usr/include/string.h:524:26: note: old declaration 'const char* basename(const char*)' 524 | extern "C++" const char *basename (const char *__filename) | ^~~~ make[1]: *** [../../..//gcc/gcc/m2/Make-lang.in:1364: m2/mc-boot/GSFIO.o] Error 1 They seem to come and go without rhyme or reason. For example build #1885 on lm32-elf failed, while #1884 passed. Aside from the fact that I coonfigure with --enable-languages=c,c++ and yet modula-2 stuff still gets built (can that be fixed?) it seems like we're missing dependencies to ensure that the generated config.h file is made before building the modula-2 stuff. In a good build you'll see something like this: config.status: creating auto-host.h [ ... ] Build GSFIO.o: g++ -g -c -I. -I../../..//gcc/gcc/m2/mc-boot-ch -I../../..//gcc/gcc/m2/mc-boot -I../../..//gcc/gcc/../include -I../../..//gcc/gcc -I. -Im2/mc-boot -I../../..//gcc/gcc -I../../..//gcc/gcc/m2/mc-boot -I../../..//gcc/gcc/../include -I../../..//gcc/gcc/../libcpp/include -I../../..//gcc/gcc/../libcody -I../../..//gcc/gcc/../libdecnumber -I../../..//gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../..//gcc/gcc/../libbacktrace ../../..//gcc/gcc/m2/mc-boot/GSFIO.c -o m2/mc-boot/GSFIO.o Which naturally works just fine. In a bad build, auto-host.h is _not_ created before trying to build GSFIO.o. Can you please take care of this. It's rather annoying to have builds failing in the continuous testing system like this, particularly when modula-2 isn't even enabled. Jeff Hi Jeff, many apologies for the breakage - I've now added the Makefile dependencies. I've also regenerated the m2 configure scripts I'm still seeing it as of about 2 hours ago: http://law-sandy.freeddns.org:8080/job/avr-elf/2125/console A good run (yesterday): http://law-sandy.freeddns.org:8080/job/avr-elf/2124/console However, I did find that my scripts were enabling all languages -- sorry I stated otherwise and blamed it on the M2 front-end. THe only issue we need to resolve is the dependency problems. jeff
Re: Missing dependencies in m2/ ?
Jeff Law via Gcc-patches writes: > I've been getting sporatic errors like this since the introduction of > the modula-2 front-end: > >> In file included from ../../..//gcc/gcc/m2/mc-boot/GSFIO.c:29: >> ../../..//gcc/gcc/system.h:556:20: error: conflicting declaration of C >> function 'const char* strsignal(int)' >> 556 | extern const char *strsignal (int); >> |^ >> In file included from /usr/include/c++/12/cstring:42, >> from ../../..//gcc/gcc/system.h:241: >> /usr/include/string.h:478:14: note: previous declaration 'char* >> strsignal(int)' >> 478 | extern char *strsignal (int __sig) __THROW; >> | ^ >> In file included from ../../..//gcc/gcc/system.h:707: >> ../../..//gcc/gcc/../include/libiberty.h:112:14: error: ambiguating new >> declaration of 'char* basename(const char*)' >> 112 | extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL >> ATTRIBUTE_NONNULL(1); >> | ^~~~ >> /usr/include/string.h:524:26: note: old declaration 'const char* >> basename(const char*)' >> 524 | extern "C++" const char *basename (const char *__filename) >> | ^~~~ >> make[1]: *** [../../..//gcc/gcc/m2/Make-lang.in:1364: m2/mc-boot/GSFIO.o] >> Error 1 > > > They seem to come and go without rhyme or reason. For example build > #1885 on lm32-elf failed, while #1884 passed. > > Aside from the fact that I coonfigure with --enable-languages=c,c++ > and yet modula-2 stuff still gets built (can that be fixed?) it seems > like we're missing dependencies to ensure that the generated config.h > file is made before building the modula-2 stuff. > > In a good build you'll see something like this: > > config.status: creating auto-host.h > [ ... ] > Build GSFIO.o: > g++ -g -c -I. -I../../..//gcc/gcc/m2/mc-boot-ch > -I../../..//gcc/gcc/m2/mc-boot -I../../..//gcc/gcc/../include > -I../../..//gcc/gcc -I. -Im2/mc-boot -I../../..//gcc/gcc > -I../../..//gcc/gcc/m2/mc-boot -I../../..//gcc/gcc/../include > -I../../..//gcc/gcc/../libcpp/include -I../../..//gcc/gcc/../libcody > -I../../..//gcc/gcc/../libdecnumber > -I../../..//gcc/gcc/../libdecnumber/dpd -I../libdecnumber > -I../../..//gcc/gcc/../libbacktrace > ../../..//gcc/gcc/m2/mc-boot/GSFIO.c -o m2/mc-boot/GSFIO.o > > Which naturally works just fine. > > In a bad build, auto-host.h is _not_ created before trying to build GSFIO.o. > > Can you please take care of this. It's rather annoying to have builds > failing in the continuous testing system like this, particularly when > modula-2 isn't even enabled. > > Jeff Hi Jeff, many apologies for the breakage - I've now added the Makefile dependencies. I've also regenerated the m2 configure scripts regards, Gaius
Missing dependencies in m2/ ?
I've been getting sporatic errors like this since the introduction of the modula-2 front-end: In file included from ../../..//gcc/gcc/m2/mc-boot/GSFIO.c:29: ../../..//gcc/gcc/system.h:556:20: error: conflicting declaration of C function 'const char* strsignal(int)' 556 | extern const char *strsignal (int); |^ In file included from /usr/include/c++/12/cstring:42, from ../../..//gcc/gcc/system.h:241: /usr/include/string.h:478:14: note: previous declaration 'char* strsignal(int)' 478 | extern char *strsignal (int __sig) __THROW; | ^ In file included from ../../..//gcc/gcc/system.h:707: ../../..//gcc/gcc/../include/libiberty.h:112:14: error: ambiguating new declaration of 'char* basename(const char*)' 112 | extern char *basename (const char *) ATTRIBUTE_RETURNS_NONNULL ATTRIBUTE_NONNULL(1); | ^~~~ /usr/include/string.h:524:26: note: old declaration 'const char* basename(const char*)' 524 | extern "C++" const char *basename (const char *__filename) | ^~~~ make[1]: *** [../../..//gcc/gcc/m2/Make-lang.in:1364: m2/mc-boot/GSFIO.o] Error 1 They seem to come and go without rhyme or reason. For example build #1885 on lm32-elf failed, while #1884 passed. Aside from the fact that I coonfigure with --enable-languages=c,c++ and yet modula-2 stuff still gets built (can that be fixed?) it seems like we're missing dependencies to ensure that the generated config.h file is made before building the modula-2 stuff. In a good build you'll see something like this: config.status: creating auto-host.h [ ... ] Build GSFIO.o: g++ -g -c -I. -I../../..//gcc/gcc/m2/mc-boot-ch -I../../..//gcc/gcc/m2/mc-boot -I../../..//gcc/gcc/../include -I../../..//gcc/gcc -I. -Im2/mc-boot -I../../..//gcc/gcc -I../../..//gcc/gcc/m2/mc-boot -I../../..//gcc/gcc/../include -I../../..//gcc/gcc/../libcpp/include -I../../..//gcc/gcc/../libcody -I../../..//gcc/gcc/../libdecnumber -I../../..//gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../..//gcc/gcc/../libbacktrace ../../..//gcc/gcc/m2/mc-boot/GSFIO.c -o m2/mc-boot/GSFIO.o Which naturally works just fine. In a bad build, auto-host.h is _not_ created before trying to build GSFIO.o. Can you please take care of this. It's rather annoying to have builds failing in the continuous testing system like this, particularly when modula-2 isn't even enabled. Jeff