This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Fix parallel make install
- From: "Richard Guenther" <richard dot guenther at gmail dot com>
- To: "Diego Novillo" <dnovillo at google dot com>
- Cc: fortran at gcc dot gnu dot org, gcc-patches at gcc dot gnu dot org, "Jakub Jelinek" <jakub at redhat dot com>
- Date: Thu, 11 Dec 2008 12:26:06 +0100
- Subject: Re: Fix parallel make install
- References: <20081202155303.GA10362@google.com>
On Tue, Dec 2, 2008 at 4:53 PM, Diego Novillo <dnovillo@google.com> wrote:
> This fixes a bootstrap failure on trunk that may happen when make
> install in libgomp and fortran interleave just the right way.
> The fortran install was removing the finclude directory from
> under libgomp's feet.
>
> OK for trunk?
What ended up in trunk,
# Create or recreate the gfortran private include file directory.
install-finclude-dir: installdirs
$(mkinstalldirs) -m a+rx $(DESTDIR)$(libsubdir)/finclude
now seems to end up creating finclude world-writable for some reason. Following
patterns elsewhere omitting -m a+rx seems to be the canonical form of creating
installdirs. This seems to be because mkinstalldirs passes the argument to -m
to mkdir which expects a mode like 0755, not a+rx.
Thus I installed the following as obvious.
Richard.
2008-12-11 Richard Guenther <rguenther@suse.de>
* Make-lang.in (install-finclude-dir): Use correct mode argument
for mkinstalldirs.
Index: fortran/Make-lang.in
===================================================================
--- fortran/Make-lang.in (revision 142661)
+++ fortran/Make-lang.in (working copy)
@@ -211,7 +211,7 @@ doc/gfc-internals.pdf: $(GFC_INTERNALS_T
# Create or recreate the gfortran private include file directory.
install-finclude-dir: installdirs
- $(mkinstalldirs) -m a+rx $(DESTDIR)$(libsubdir)/finclude
+ $(mkinstalldirs) -m 0755 $(DESTDIR)$(libsubdir)/finclude
#^L
# Install hooks:
# f951 is installed elsewhere as part of $(COMPILERS).
>
> Diego.
>
>
> 2008-12-02 Jakub Jelinek <jakub@redhat.com>
> Diego Novillo <dnovillo@google.com>
>
> * Make-lang.in (install-finclude-dir): Use mkinstalldirs
> and don't remove the finclude directory beforehand.
>
> Index: fortran/Make-lang.in
> ===================================================================
> --- fortran/Make-lang.in (revision 142360)
> +++ fortran/Make-lang.in (working copy)
> @@ -211,8 +211,7 @@ doc/gfc-internals.pdf: $(GFC_INTERNALS_T
>
> # Create or recreate the gfortran private include file directory.
> install-finclude-dir: installdirs
> - -rm -rf $(DESTDIR)$(libsubdir)/finclude
> - mkdir $(DESTDIR)$(libsubdir)/finclude
> + $(mkinstalldirs) $(DESTDIR)$(libsubdir)/finclude
> -chmod a+rx $(DESTDIR)$(libsubdir)/finclude
> #
> # Install hooks:
>