This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
"changing search order ..." again
- To: gcc at gcc dot gnu dot org
- Subject: "changing search order ..." again
- From: Raja R Harinath <harinath at cs dot umn dot edu>
- Date: Mon, 16 Jul 2001 17:20:50 -0500
Hi,
I'm having problems bootstraping the latest CVS. It's traceable to
the "changing search order ..." warning.
>From what I can make out:
* In native builds, topdir "Cygnus" configure.in adds '-isystem
$(build_tooldir)/include' to FLAGS_FOR_TARGET, which ends up in
CC_FOR_TARGET
* libstdc++ is configured with CC=$CC_FOR_TARGET
- cpp0 complains about system header when configure checks "how to
run the C preprocessor ... "
- So, configure tacks on a -traditional-cpp to $CPP
- /usr/include/unistd.h in GNU Libc 2.1.3 has
# define ssize_t ssize_t
which drives traditional CPP nuts.
- So, libstdc++ configure ends up deciding that the system doesn't
have unistd.h. It then stores this useful piece of information
in config.cache.
* libjava is configured next
- it uses the information in config.cache and blindly assumes that
unistd.h is absent.
* bootstrap fails in 'prims.cc' since it can't find 'getpid'.
So, basically, the bootstrap process intrinsically produces a
situation where the "changing search order ..." causes a failure.
One reason others may not be seeing this is if
$(build_tooldir)/include doesn't exist -- which is possible if you
configure to a different prefix on each build.
- Hari
--
Raja R Harinath ------------------------------ harinath@cs.umn.edu
"When all else fails, read the instructions." -- Cahn's Axiom
"Our policy is, when in doubt, do the right thing." -- Roy L Ash