When trying to install a freshly built gcc 4.9.0 on Solaris 9 and 10, I ran into make install failures when using INSTALL_DATA_DATE:
cp: preserving permissions for '/vol/gcc-4.9/lib/gcc/i386-pc-solaris2.10/4.9.0/adalib/a-assert.ali': Operation not supported on transport endpoint The problem is that the source filesystem is either UFS (supporting POSIX ACLs) or ZFS (supporting NFSv4 ACLs), while the destination is an NFS-mounted (NFSv3, which doesn't include support for NFSv4 ACLs) ZFS filesystem (which cannot support UFS ACLs even if NFSv3 could), so cp -p errors as above although the timestamps are preserved. It seems to me that (as already done in one of three cases in the install-gnatlib target) $(INSTALL_DATA_DATE) errors should be ignored, to allow for such a case. The following patch does just that and allowed the make install to complete. Ok for mainline? Rainer 2014-04-25 Rainer Orth <r...@cebitec.uni-bielefeld.de> * gcc-interface/Makefile.in (install-gnatlib): Ignore $(INSTALL_DATA_DATE) errors.
=================================================================== RCS file: gcc/ada/gcc-interface/RCS/Makefile,v retrieving revision 1.1 diff -u -r1.1 gcc/ada/gcc-interface/Makefile --- gcc/ada/gcc-interface/Makefile 2014/04/23 15:14:11 1.1 +++ gcc/ada/gcc-interface/Makefile 2014/04/23 18:56:47 @@ -2613,7 +2613,7 @@ $(RMDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) -$(MKDIR) $(DESTDIR)$(ADA_RTL_OBJ_DIR) -$(MKDIR) $(DESTDIR)$(ADA_INCLUDE_DIR) - for file in $(RTSDIR)/*.ali; do \ + -for file in $(RTSDIR)/*.ali; do \ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_RTL_OBJ_DIR); \ done -cd $(RTSDIR); for file in *$(arext);do \ @@ -2644,7 +2644,7 @@ fi; \ done # This copy must be done preserving the date on the original file. - for file in $(RTSDIR)/*.ad?; do \ + -for file in $(RTSDIR)/*.ad?; do \ $(INSTALL_DATA_DATE) $$file $(DESTDIR)$(ADA_INCLUDE_DIR); \ done cd $(DESTDIR)$(ADA_INCLUDE_DIR); $(CHMOD) a-wx *.adb
-- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University