while the gcc executables reliably find their associated files / libraries /
paths
even if the executable is invoked through symlinks, this is not true for the
gnat executables.
For example, if gcc is installed with --prefix=/usr/local/gcc1
and then symlinks are made such as
cd /usr/local/bin ; ln -s /usr/local/gcc1/bin/* .
with /usr/local/bin in the PATH, gcc will work, gnat not, and for example
a bootstrap of gcc will fail for ada (maybe things like bug #24030 are related
to this?)
Probably, the ada executables don't follow their symlinks path to the last dir
and then look for ../lib, but directly look for it (/usr/local/bin/../lib
resolving to /usr/local/lib in the above example, instead of finding out that
/usr/local/bin/gnat is in /usr/local/gcc/bin/gnat, then getting the library
path as /usr/local/gcc/lib/...
Workaround:
either set the ADA_LIBRARY.. etc env variables to the final directories,
or better also make the corresponding library links in the directories expected
by gnat
(cd /usr/local/lib ; ln -s /usr/local/gcc1/lib/* . )
but resolving the problem in gnat itself would be better.
--
Summary: gnat incorrectly finds its libraries through symlinks
Product: gcc
Version: 4.1.2
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: anirkko at insel dot ch
GCC build triplet: sparc-sun-solaris2.6
GCC host triplet: sparc-sun-solaris2.6
GCC target triplet: sparc-sun-solaris2.6
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31687