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

Reply via email to