This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

"changing search order ..." again


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]