This is the mail archive of the
libstdc++@sources.redhat.com
mailing list for the libstdc++ project.
Re: V3 PATCH: Some complex<> cleanup (1/2)
Allrighty, after tweaks to gcc/Makefile to use -O0 when building
libgcc2, I'm back in the game, but this is my last message for the day.
> > make[2]: *** No rule to make target `limitsMEMBERS.cc', needed by `limitsMEMBERS
> > .lo'. Stop.
>
>
> > It looks like this is supposed to be a generated file, but I don't see
> > anything obvious in Makefile* or configure* that generates it.
>
> generated at configure time, by mknumeric_limits. What you can do is
>
> rm stamp-limits
> ./config.status --recheck
>
> in your build libstdc++-v3 directory. (Does stamp-limits exist?)
Yes, stamp-limits exists, though it becomes clearer now that it probably
should not. :-)
checking <ctype> for Solaris 2.6,7,8... no
checking <ctype> for Solaris 2.5.1... yes
checking for strtof... (cached) yes
checking for strtold declaration... no
checking for unistd.h... (cached) yes
checking for getpagesize... (cached) yes
checking for working mmap... (cached) no
updating cache ../config.cache
checking for locale.h... (cached) yes
checking for LC_MESSAGES... (cached) yes
checking for interface version number... v3
checking for --with-gxx-include-dir... no
checking for --enable-version-specific-runtime-libs... no
checking for /play/tmp/7/i686-pc-udk/libstdc++-v3/include
creating ./config.status
running mkc++config
running mknumeric_limits
/play/tmp/7/i686-pc-udk/libstdc++-v3/../../gcc/g++ -B/play/tmp/7/i686-pc-udk/lib
stdc++-v3/../../gcc/ -I/play/tmp/7/i686-pc-udk/libstdc++-v3/include -o /pla
y/tmp/7/i686-pc-udk/libstdc++-v3/src/gen-num-limits /play/egcs/libstdc++-v3/src/
gen-num-limits.cc -nodefaultlibs -lgcc -lc
In file included from /play/egcs/libstdc++-v3/src/gen-num-limits.cc:52:
/play/tmp/7/gcc/include/stdio.h:402:42: cstdio: No such file or directory
In file included from /play/egcs/libstdc++-v3/src/gen-num-limits.cc:53:
/play/tmp/7/gcc/include/signal.h:140:43: csignal: No such file or directory
In file included from /play/egcs/libstdc++-v3/src/gen-num-limits.cc:54:
/play/tmp/7/gcc/include/setjmp.h:75:43: csetjmp: No such file or directory
In file included from /play/egcs/libstdc++-v3/src/gen-num-limits.cc:55:
/play/tmp/7/gcc/include/math.h:786:41: cmath: No such file or directory
gen-num-limits failed to build, exiting.
Chasing this backwards, I can see the vendor <stdio.h> ends with:
#ifdef __cplusplus
}
#ifndef _CFRONT_3_0
#include <cstdio> /* for namespace std */
#endif
#endif /*__cplusplus*/
#endif /*_STDIO_H*/
Since we are C++ and we aren't CFRONT, we look for <cstdio>. There
isn't one in libstdc++-v3 and the g++ we just built doesn't know where
to find the vendor one (/udk/usr/include/CC). Where should we be
finding this? Should we be getting the ones from the above dir? Should
we perhaps be fixincluding this away? It's easy to swing it either way;
I just need help deciding which way is the Right Way.
Since the compilation failed, shouldn't we 'exit 1' somewhere and NOT
create the stamp file?
RJL