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]
Other format: [Raw text]

Re: Mainline: C++ include files not found!


On Sat, Feb 15, 2003 at 11:48:16AM +0100, Gerald Pfeifer wrote:
> If I invoke gcc/g++ using a symlink (for example, ~/bin/gccvs pointing to
> the actual location of the binaries which is _not_ in my path), gcc/g++ no
> longer find C++ include files:
> 
>   % cat x.cc
>   #include <iostream>
>   #include <string>
>   #include <set>
>   #include <functional>
>   #include <sstream>
>   main() { }
> 
>   % gccvs x.cc
>   x.cc:1:20: iostream: No such file or directory
>   x.cc:2:18: string: No such file or directory
>   x.cc:3:15: set: No such file or directory
>   x.cc:4:22: functional: No such file or directory
>   x.cc:5:19: sstream: No such file or directory
> 
>   % ls -ld `which gccvs`
>   ... /home/pfeifer/bin/gccvs -> /sw/gcc-current/bin/g++
>   % /sw/gcc-current/bin/g++ x.cc
>   %
> 
> Daniel, might this be related to your recent changes wrt. sysroot?

Yes.  You've run afoul of this chunk:
        (init_standard_includes): Handle add_sysroot.  Do not
        add unrelocated copies of relocated directories.

Unfortunately, we can't just yank that part - it's a bug fix; without
it, a relocated include directory that should be searched after
$prefix/include would be searched before it instead.

Folks, should we explicitly use readlink to follow if argv[0] turns out
to be a link?  I guess that's reasonable.  I'm thinking of doing it
directly in make_relative_prefix.

> ignoring nonexistent directory "/home/pfeifer/lib/gcc-lib/sparc-sun-solaris2.9/3.4/../../../../include/c++/3.4"
> ignoring nonexistent directory "/home/pfeifer/lib/gcc-lib/sparc-sun-solaris2.9/3.4/../../../../include/c++/3.4/sparc-sun-solaris2.9"
> ignoring nonexistent directory "/home/pfeifer/lib/gcc-lib/sparc-sun-solaris2.9/3.4/../../../../include/c++/3.4/backward"
> ignoring nonexistent directory "/usr/local/include"
> ignoring nonexistent directory "/home/pfeifer/lib/gcc-lib/sparc-sun-solaris2.9/3.4/include"
> ignoring nonexistent directory "/home/pfeifer/lib/gcc-lib/sparc-sun-solaris2.9/3.4/../../../../sparc-sun-solaris2.9/include"
> #include "..." search starts here:
> #include <...> search starts here:
>  /sw/gcc-current/include
>  /usr/include
> End of search list.
> x.cc:1:20: iostream: No such file or directory
> x.cc:2:18: string: No such file or directory
> x.cc:3:15: set: No such file or directory
> x.cc:4:22: functional: No such file or directory
> x.cc:5:19: sstream: No such file or directory
> 

-- 
Daniel Jacobowitz
MontaVista Software                         Debian GNU/Linux Developer


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