2.95.2: problem with installed locations
David Starks-Browning
starksb@ebi.ac.uk
Fri Jan 28 09:15:00 GMT 2000
Greetings,
In 2.95.2, there seems to be a problem with the installed locations of
_G_config.h and assert.h (where they exist) and libiberty.a.
We have a single shared filesystem for 4 different platforms:
arch = alpha-osf1
i386-linux
mips-irix
sparc-solaris
Our <prefix> is /sw/common, <exec-prefix> is /sw/common/arch/${arch}.
On alphaev56-dec-osf4.0e, the configure command looks like this:
export LDFLAGS="-Wl,-rpath,/sw/common/arch/alpha-osf1/lib"
/sw/common/src/gcc-2.95.2/configure --prefix=/sw/common --exec-prefix=/sw/common/arch/alpha-osf1
Similarly, on sparc-sun-solaris2.7, it looks like this:
export LDFLAGS="-Wl,-R,/sw/common/arch/sparc-solaris/lib"
/sw/common/src/gcc-2.95.2/configure --prefix=/sw/common --exec-prefix=/sw/common/arch/sparc-solaris
You should get the idea. The other 2 targets were i686-pc-linux-gnu
and mips-sgi-irix6.5.
Being careful that _objdir_ was outside both _srcdir_ and <prefix>,
"make bootstrap" followed by "make install" creates
include
lib
in
<exec-prefix>/../<target>
('include' may be empty or contain _G_config.h and/or assert.h
depending on the target, and 'lib' contains libiberty.a)
I consider this to be a bug, because architecture-dependent files are
outside of <exec-prefix>. (Or am I wrong about that?)
Once installed, GCC seems to work just fine on all targets. Compiling
a simple test C++ program shows:
g++ -v tgcc.cc
Reading specs from /sw/common/arch/alpha-osf1/lib/gcc-lib/alphaev56-dec-osf4.0e/2.95.2/specs
gcc version 2.95.2 19991024 (release)
/sw/common/arch/alpha-osf1/lib/gcc-lib/alphaev56-dec-osf4.0e/2.95.2/cpp -lang-c++ -v -D__GNUC__=2 -D__GNUG__=2 -D__GNUC_MINOR__=95 -D__cplusplus -Dunix -D__osf__ -D_LONGLONG -DSYSTYPE_BSD -D_SYSTYPE_BSD -D__unix__ -D__osf__ -D_LONGLONG -D__SYSTYPE_BSD__ -D_SYSTYPE_BSD -D__unix -D__SYSTYPE_BSD -Asystem(unix) -Asystem(xpg4) -D__EXCEPTIONS -D__LANGUAGE_C_PLUS_PLUS__ -D__LANGUAGE_C_PLUS_PLUS -D__cplusplus -Acpu(alpha) -Amachine(alpha) -D__alpha -D__alpha__ -D__alpha_ev5__ -Acpu(ev5) -D__alpha_bwx__ -Acpu(bwx) tgcc.cc /tmp/cc3nEatL.ii
GNU CPP version 2.95.2 19991024 (release)
#include "..." search starts here:
#include <...> search starts here:
/sw/common/arch/alpha-osf1/lib/gcc-lib/alphaev56-dec-osf4.0e/2.95.2/../../../../../../include/g++-3
/usr/local/include
/sw/common/arch/alpha-osf1/lib/gcc-lib/alphaev56-dec-osf4.0e/2.95.2/../../../../../alphaev56-dec-osf4.0e/include
/sw/common/arch/alpha-osf1/lib/gcc-lib/alphaev56-dec-osf4.0e/2.95.2/include
/usr/include
End of search list.
The following default directories have been omitted from the search path:
End of omitted list.
[...]
The 3rd include path in the <...> search is the offending one. Are
there too many '../'s in a regexp somewhere?
It's a bit of a housekeeping problem for us to have gcc <target>
directories outside of <exec-prefix>.
Thanks for your help.
Kind regards,
David
-------------------------------------------------------------------
David Starks-Browning | starksb@ebi.ac.uk
EMBL Outstation -- |
The European Bioinformatics Institute |
Wellcome Trust Genome Campus | tel: +44 (1223) 494 616
Hinxton, Cambridge, CB10 1SD, UK | fax: +44 (1223) 494 468
-------------------------------------------------------------------
More information about the Gcc-bugs
mailing list