From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Received: (qmail 20437 invoked by uid 71); 13 Jan 2003 03:26:02 -0000 Date: Mon, 13 Jan 2003 03:26:00 -0000 Message-ID: <20030113032602.20436.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: John Tang Boyland Subject: Re: c++/8477: autoconf script chooses wrong value for gcc_gxx_include_path Reply-To: John Tang Boyland X-SW-Source: 2003-01/txt/msg00796.txt.bz2 List-Id: The following reply was made to PR c++/8477; it has been noted by GNATS. >>From boyland@cs.uwm.edu Mon Jan 13 01:09:12 2003 From: John Tang Boyland To: ian.grant@cl.cam.ac.uk, gcc-gnats@gcc.gnu.org, gcc-prs@gcc.gnu.org, gcc-bugs@gcc.gnu.org, nobody@gcc.gnu.org Cc: Subject: Re: c++/8477: autoconf script chooses wrong value for gcc_gxx_include_path Date: Sun, 12 Jan 2003 21:24:41 -0600 I have a similar problem (except not with autoconf, since I just use the release 3.2.1 source.) 'make install' installs g++ header files in $(profix)/common/c++/3.2.1/ but then g++ looks for the files not using prefix. It seems to do something strange related to where the executable is. I show two runs of g++: one from a symbolic link in /usr/new/bin (and /usr/new/lib/lib-gcc points to $(exec-prefix)/lib/gcc-lib) and one directly using the full path without any symbolic links. In both cases the files aren't found: Run #1: (with symbolic links) % /usr/new/bin/g++ --verbose hello.cc Reading specs from /usr/new/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.2.1/specs Configured with: ../src/configure --prefix=/afs/cs.uwm.edu/package/gcc/gcc-3.2.1/common --exec-prefix=/afs/cs.uwm.edu/package/gcc/gcc-3.2.1/sun4x_58 --enable-languages=c,c++ --disable-nls Thread model: posix gcc version 3.2.1 /usr/new/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.2.1/cc1plus -v -iprefix /usr/new/bin/../lib/gcc-lib/sparc-sun-solaris2.8/3.2.1/ -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=1 -D__GXX_ABI_VERSION=102 -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__PRAGMA_REDEFINE_EXTNAME -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__PRAGMA_REDEFINE_EXTNAME -D__sparc -D__sun -D__unix -Asystem=unix -Asystem=svr4 -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_XOPEN_SOURCE=500 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -D__EXTENSIONS__ -D__SIZE_TYPE__=unsigned int -D__PTRDIFF_TYPE__=int -D__WCHAR_TYPE__=long int -D__WINT_TYPE__=long int -D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc hello.cc -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -quiet -dumpbase hello.cc -version -o /var/tmp//ccSYZafr.s GNU CPP version 3.2.1 (cpplib) (sparc ELF) GNU C++ version 3.2.1 (sparc-sun-solaris2.8) compiled by GNU C version 3.2.1. ignoring nonexistent directory "/usr/new/lib/gcc-lib/../../../../../../../../include/c++/3.2.1" ignoring nonexistent directory "/usr/new/lib/gcc-lib/../../../../../../../../include/c++/3.2.1/sparc-sun-solaris2.8" ignoring nonexistent directory "/usr/new/lib/gcc-lib/../../../../../../../../include/c++/3.2.1/backward" ignoring nonexistent directory "/usr/new/lib/gcc-lib/../../../../../../../sparc-sun-solaris2.8/include" ignoring nonexistent directory "/include/c++/3.2.1" ignoring nonexistent directory "/include/c++/3.2.1/sparc-sun-solaris2.8" ignoring nonexistent directory "/include/c++/3.2.1/backward" ignoring nonexistent directory "/afs/sparc-sun-solaris2.8/include" ignoring duplicate directory "/afs/cs.uwm.edu/package/gcc/gcc-3.2.1/sun4x_58/lib/gcc-lib/sparc-sun-solaris2.8/3.2.1/include" #include "..." search starts here: #include <...> search starts here: /usr/new/lib/gcc-lib/sparc-sun-solaris2.8/3.2.1/include /usr/local/include /afs/cs.uwm.edu/package/gcc/gcc-3.2.1/common/include /usr/include End of search list. hello.cc:1:20: iostream: No such file or directory hello.cc: In function `int main()': hello.cc:5: `cout' undeclared in namespace `std' hello.cc:5: `endl' undeclared in namespace `std' (2) run without symbolic links: % /afs/cs.uwm.edu/package/gcc/gcc-3.2.1/sun4x_58/bin/g++ --verbose hello.cc Reading specs from /afs/cs.uwm.edu/package/gcc/gcc-3.2.1/sun4x_58/lib/gcc-lib/sparc-sun-solaris2.8/3.2.1/specs Configured with: ../src/configure --prefix=/afs/cs.uwm.edu/package/gcc/gcc-3.2.1/common --exec-prefix=/afs/cs.uwm.edu/package/gcc/gcc-3.2.1/sun4x_58 --enable-languages=c,c++ --disable-nls Thread model: posix gcc version 3.2.1 /afs/cs.uwm.edu/package/gcc/gcc-3.2.1/sun4x_58/lib/gcc-lib/sparc-sun-solaris2.8/3.2.1/cc1plus -v -D__GNUC__=3 -D__GNUC_MINOR__=2 -D__GNUC_PATCHLEVEL__=1 -D__GXX_ABI_VERSION=102 -Dsparc -Dsun -Dunix -D__svr4__ -D__SVR4 -D__PRAGMA_REDEFINE_EXTNAME -D__sparc__ -D__sun__ -D__unix__ -D__svr4__ -D__SVR4 -D__PRAGMA_REDEFINE_EXTNAME -D__sparc -D__sun -D__unix -Asystem=unix -Asystem=svr4 -D__NO_INLINE__ -D__STDC_HOSTED__=1 -D_XOPEN_SOURCE=500 -D_LARGEFILE_SOURCE=1 -D_LARGEFILE64_SOURCE=1 -D__EXTENSIONS__ -D__SIZE_TYPE__=unsigned int -D__PTRDIFF_TYPE__=int -D__WCHAR_TYPE__=long int -D__WINT_TYPE__=long int -D__GCC_NEW_VARARGS__ -Acpu=sparc -Amachine=sparc hello.cc -D__GNUG__=3 -D__DEPRECATED -D__EXCEPTIONS -quiet -dumpbase hello.cc -version -o /var/tmp//ccHTgJY7.s GNU CPP version 3.2.1 (cpplib) (sparc ELF) GNU C++ version 3.2.1 (sparc-sun-solaris2.8) compiled by GNU C version 3.2.1. ignoring nonexistent directory "/include/c++/3.2.1" ignoring nonexistent directory "/include/c++/3.2.1/sparc-sun-solaris2.8" ignoring nonexistent directory "/include/c++/3.2.1/backward" ignoring nonexistent directory "/afs/sparc-sun-solaris2.8/include" #include "..." search starts here: #include <...> search starts here: /usr/local/include /afs/cs.uwm.edu/package/gcc/gcc-3.2.1/common/include /afs/cs.uwm.edu/package/gcc/gcc-3.2.1/sun4x_58/lib/gcc-lib/sparc-sun-solaris2.8/3.2.1/include /usr/include End of search list. hello.cc:1:20: iostream: No such file or directory hello.cc: In function `int main()': hello.cc:5: `cout' undeclared in namespace `std' hello.cc:5: `endl' undeclared in namespace `std' My current "fix" is to edit the binaries in emacs to put in the correct paths. But I wonder why g++ tries to do tricky things with ../../ working backwards from gcc-lib rather than just use the same place that things were installed. John http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=8477