This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[ada, build] Ignore cp -p failures during Ada make install
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Arnaud Charlet <charlet at adacore dot com>, Paolo Bonzini <bonzini at gnu dot org>
- Date: Fri, 25 Apr 2014 15:41:15 +0200
- Subject: [ada, build] Ignore cp -p failures during Ada make install
- Authentication-results: sourceware.org; auth=none
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 <ro@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