This is the mail archive of the
mailing list for the libstdc++ project.
Re: g++ not finding the V3 target include dir
- To: Phil Edwards <pedwards at disaster dot jaj dot com>
- Subject: Re: g++ not finding the V3 target include dir
- From: Benjamin Kosnik <bkoz at redhat dot com>
- Date: Wed, 20 Dec 2000 10:06:40 -0800 (PST)
- cc: gcc-bugs at gcc dot gnu dot org, zack at wolery dot stanford dot edu, neil at daikokuya dot demon dot co dot uk, libstdc++ at gcc dot gnu dot org
I changed the gcc/Makefile.in rules slightly last night. Native targets
shouldn't have been affected, but it appears they are (I've reproduced
your problem with x86/linux and CVS-current.)
> ignoring duplicate directory "/installdir/sparc-sun-solaris2.8/include"
> #include "..." search starts here:
> #include <...> search starts here:
> * /installdir/lib/gcc-lib/sparc-sun-solaris2.8/2.97/include
> End of search list.
> However, * now also contains its own g++-v3 dir, and the target-specific
> headers in its bits dir (such as c++config.h :-) aren't being found.
> I know enough about cpplib to know that I don't know enough about cpplib
> yet. Where should I be looking to fix this?
What's weird is that if I remove cppdefault.o and then remake it, 'make
all' in the gcc subdir and then re-install just this part of gcc
everything is fine again. Psycho.
gcc -DIN_GCC -g -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -Wtraditional -pedantic -Wno-long-long
-DHAVE_CONFIG_H -I. -I. -I/mnt/hd/bliss/src.gcc/gcc
-DGCC_INCLUDE_DIR=\"/mnt/hd/bliss/H-x86-gcc-debug/lib/gcc-lib/i686-pc-linux-gnu/2.97/include\" -DGPLUSPLUS_INCLUDE_DIR=\"/mnt/hd/bliss/H-x86-gcc-debug/lib/gcc-lib/i686-pc-linux-gnu/2.97/../../../..`echo /mnt/hd/bliss/H-x86-gcc-debug | sed -e 's|^/mnt/hd/bliss/H-x86-gcc-debug||' -e 's|/[^/]*|/..|g'`/include/g++-v3\" -DGPLUSPLUS_TOOL_INCLUDE_DIR=\"/mnt/hd/bliss/H-x86-gcc-debug/i686-pc-linux-gnu/include/g++-v3\" -DLOCAL_INCLUDE_DIR=\"/usr/local/include\" -DCROSS_INCLUDE_DIR=\"/mnt/hd/bliss/H-x86-gcc-debug/lib/gcc-lib/i686-pc-linux-gnu/2.97/../../../../i686-pc-linux-gnu/sys-include\" -DTOOL_INCLUDE_DIR=\"/mnt/hd/bliss/H-x86-gcc-debug/lib/gcc-lib/i686-pc-linux-gnu/2.97/../../../../i686-pc-linux-gnu/include\" \
Notice GPLUSPLUS_TOOL_INCLUDE_DIR is correct.
It looks like the rebuild of libcpp.a or libiberty.a that happens after
this file is touched solves the problem. So, perhaps there is a
dependency tracking issue with one of these libraries on the initial build?
Zack, you know more about the preprocessor than I. Does this sound credible?