This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Mainline: C++ include files not found!
- From: Daniel Jacobowitz <drow at mvista dot com>
- To: Gerald Pfeifer <pfeifer at dbai dot tuwien dot ac dot at>
- Cc: gcc at gcc dot gnu dot org
- Date: Sat, 15 Feb 2003 08:51:57 -0500
- Subject: Re: Mainline: C++ include files not found!
- References: <Pine.BSF.4.51.0302151138270.12432@acrux.dbai.tuwien.ac.at>
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