On 1/31/19 12:38 PM, Bernd Edlinger wrote:
> Hi,
> 
> I have an issue with the installation of gcc when configured with 
> --enable-languages=all
> on an arm-target where install-sh is used, and make install fails at 
> libphobos as follows:
> 
>   if test -f $file; then \
>     /home/ed/gnu/gcc-9-20190127-0/install-sh -c -m 644 -D $file 
> /home/ed/gnu/arm-linux-gnueabihf/lib/gcc/armv7l-unknown-linux-gnueabihf/9.0.1/include/d/$file
>  ; \
>   else \
>     /home/ed/gnu/gcc-9-20190127-0/install-sh -c -m 644 -D 
> ../../../../gcc-9-20190127-0/libphobos/libdruntime/$file \
>       
> /home/ed/gnu/arm-linux-gnueabihf/lib/gcc/armv7l-unknown-linux-gnueabihf/9.0.1/include/d/$file
>  ; \
>   fi ; \
> done
> /home/ed/gnu/gcc-9-20190127-0/install-sh: invalid option: -D
> /home/ed/gnu/gcc-9-20190127-0/install-sh: invalid option: -D
> /home/ed/gnu/gcc-9-20190127-0/install-sh: invalid option: -D
> ...
> 
> I have fixed the installation with the attached patch, but when I regenerate 
> the automake
> files using automake-1.15.1 and autoconf-2.69, I have an issue that apparently
> the configure.ac must be out of sync, and the the generated files are missing
> the option --runstatedir no matter what I do.  At least on the source 
> 
> RFC, because I am not sure what the --runstatedir option is, and if it is 
> intentional to remove,
> and forgotten to re-generate, or if was intended to add, and forgotten to 
> check in the
> configure.ac.
> 

Aehm, sorry, I realized that the patch did not work when coreutil's install is 
used
instead of install-sh *and* the subdirectories below include/d do not yet exist.

So have to extract and create the directory part before installing $file.

Attached is the new version of the libphobos install patch.


Bootstrapped and reg-tested / installed on x86_64-pc-linux-gnu and 
arm-linux-gnueabihf
with all languages.

Is it OK for trunk?


Thanks
Bernd.
2019-01-31  Bernd Edlinger  <bernd.edlin...@hotmail.de>

	* src/Makefile.am: Avoid the -D option which is not available
	with the install-sh fallback.  Use $(MKDIR_P) instead.
	* libdruntime/Makefile.am: Likewise.
	* configure: Regenerated.
	* Makefile.in: Regenerated.
	* src/Makefile.in: Regenerated.
	* libdruntime/Makefile.in: Regenerated.
	* testsuite/Makefile.in: Regenerated.

Index: libphobos/Makefile.in
===================================================================
--- libphobos/Makefile.in	(revision 268614)
+++ libphobos/Makefile.in	(working copy)
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Makefile for the toplevel directory of the D Standard library.
-# Copyright (C) 2006-2018 Free Software Foundation, Inc.
+# Copyright (C) 2006-2019 Free Software Foundation, Inc.
 #
 # GCC is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -319,7 +319,6 @@ phobos_compiler_shared_flag = @phobos_compiler_sha
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
Index: libphobos/configure
===================================================================
--- libphobos/configure	(revision 268614)
+++ libphobos/configure	(working copy)
@@ -782,7 +782,6 @@ infodir
 docdir
 oldincludedir
 includedir
-runstatedir
 localstatedir
 sharedstatedir
 sysconfdir
@@ -868,7 +867,6 @@ datadir='${datarootdir}'
 sysconfdir='${prefix}/etc'
 sharedstatedir='${prefix}/com'
 localstatedir='${prefix}/var'
-runstatedir='${localstatedir}/run'
 includedir='${prefix}/include'
 oldincludedir='/usr/include'
 docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
@@ -1121,15 +1119,6 @@ do
   | -silent | --silent | --silen | --sile | --sil)
     silent=yes ;;
 
-  -runstatedir | --runstatedir | --runstatedi | --runstated \
-  | --runstate | --runstat | --runsta | --runst | --runs \
-  | --run | --ru | --r)
-    ac_prev=runstatedir ;;
-  -runstatedir=* | --runstatedir=* | --runstatedi=* | --runstated=* \
-  | --runstate=* | --runstat=* | --runsta=* | --runst=* | --runs=* \
-  | --run=* | --ru=* | --r=*)
-    runstatedir=$ac_optarg ;;
-
   -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
     ac_prev=sbindir ;;
   -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
@@ -1267,7 +1256,7 @@ fi
 for ac_var in	exec_prefix prefix bindir sbindir libexecdir datarootdir \
 		datadir sysconfdir sharedstatedir localstatedir includedir \
 		oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-		libdir localedir mandir runstatedir
+		libdir localedir mandir
 do
   eval ac_val=\$$ac_var
   # Remove trailing slashes.
@@ -1420,7 +1409,6 @@ Fine tuning of the installation directories:
   --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
   --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
   --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --runstatedir=DIR       modifiable per-process data [LOCALSTATEDIR/run]
   --libdir=DIR            object code libraries [EPREFIX/lib]
   --includedir=DIR        C header files [PREFIX/include]
   --oldincludedir=DIR     C header files for non-gcc [/usr/include]
@@ -11508,7 +11496,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11511 "configure"
+#line 11499 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
@@ -11614,7 +11602,7 @@ else
   lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
   lt_status=$lt_dlunknown
   cat > conftest.$ac_ext <<_LT_EOF
-#line 11617 "configure"
+#line 11605 "configure"
 #include "confdefs.h"
 
 #if HAVE_DLFCN_H
Index: libphobos/libdruntime/Makefile.am
===================================================================
--- libphobos/libdruntime/Makefile.am	(revision 268614)
+++ libphobos/libdruntime/Makefile.am	(working copy)
@@ -140,10 +140,12 @@ clean-local:
 # Handles generated files as well
 install-data-local:
 	for file in $(ALL_DRUNTIME_INSTALL_DSOURCES); do \
+	  $(MKDIR_P) `echo $(DESTDIR)$(gdc_include_dir)/$$file \
+		      | sed -e 's:/[^/]*$$::'` ; \
 	  if test -f $$file; then \
-	    $(INSTALL_HEADER) -D $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
+	    $(INSTALL_HEADER) $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
 	  else \
-	    $(INSTALL_HEADER) -D $(srcdir)/$$file \
+	    $(INSTALL_HEADER) $(srcdir)/$$file \
 	      $(DESTDIR)$(gdc_include_dir)/$$file ; \
 	  fi ; \
 	done
Index: libphobos/libdruntime/Makefile.in
===================================================================
--- libphobos/libdruntime/Makefile.in	(revision 268614)
+++ libphobos/libdruntime/Makefile.in	(working copy)
@@ -15,7 +15,7 @@
 @SET_MAKE@
 
 # Makefile for the D runtime library.
-# Copyright (C) 2012-2018 Free Software Foundation, Inc.
+# Copyright (C) 2012-2019 Free Software Foundation, Inc.
 #
 # GCC is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -656,7 +656,6 @@ phobos_compiler_shared_flag = @phobos_compiler_sha
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -2171,10 +2170,12 @@ clean-local:
 # Handles generated files as well
 install-data-local:
 	for file in $(ALL_DRUNTIME_INSTALL_DSOURCES); do \
+	  $(MKDIR_P) `echo $(DESTDIR)$(gdc_include_dir)/$$file \
+		      | sed -e 's:/[^/]*$$::'` ; \
 	  if test -f $$file; then \
-	    $(INSTALL_HEADER) -D $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
+	    $(INSTALL_HEADER) $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
 	  else \
-	    $(INSTALL_HEADER) -D $(srcdir)/$$file \
+	    $(INSTALL_HEADER) $(srcdir)/$$file \
 	      $(DESTDIR)$(gdc_include_dir)/$$file ; \
 	  fi ; \
 	done
Index: libphobos/src/Makefile.am
===================================================================
--- libphobos/src/Makefile.am	(revision 268614)
+++ libphobos/src/Makefile.am	(working copy)
@@ -93,10 +93,12 @@ clean-local:
 # Handles generated files as well
 install-data-local:
 	for file in $(ALL_PHOBOS_INSTALL_DSOURCES); do \
+	  $(MKDIR_P) `echo $(DESTDIR)$(gdc_include_dir)/$$file \
+		      | sed -e 's:/[^/]*$$::'` ; \
 	  if test -f $$file; then \
-	    $(INSTALL_HEADER) -D $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
+	    $(INSTALL_HEADER) $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
 	  else \
-	    $(INSTALL_HEADER) -D $(srcdir)/$$file \
+	    $(INSTALL_HEADER) $(srcdir)/$$file \
 	      $(DESTDIR)$(gdc_include_dir)/$$file ; \
 	  fi ; \
 	done
Index: libphobos/src/Makefile.in
===================================================================
--- libphobos/src/Makefile.in	(revision 268614)
+++ libphobos/src/Makefile.in	(working copy)
@@ -610,7 +610,6 @@ phobos_compiler_shared_flag = @phobos_compiler_sha
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@
@@ -1648,10 +1647,12 @@ clean-local:
 # Handles generated files as well
 install-data-local:
 	for file in $(ALL_PHOBOS_INSTALL_DSOURCES); do \
+	  $(MKDIR_P) `echo $(DESTDIR)$(gdc_include_dir)/$$file \
+		      | sed -e 's:/[^/]*$$::'` ; \
 	  if test -f $$file; then \
-	    $(INSTALL_HEADER) -D $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
+	    $(INSTALL_HEADER) $$file $(DESTDIR)$(gdc_include_dir)/$$file ; \
 	  else \
-	    $(INSTALL_HEADER) -D $(srcdir)/$$file \
+	    $(INSTALL_HEADER) $(srcdir)/$$file \
 	      $(DESTDIR)$(gdc_include_dir)/$$file ; \
 	  fi ; \
 	done
Index: libphobos/testsuite/Makefile.in
===================================================================
--- libphobos/testsuite/Makefile.in	(revision 268614)
+++ libphobos/testsuite/Makefile.in	(working copy)
@@ -265,7 +265,6 @@ phobos_compiler_shared_flag = @phobos_compiler_sha
 prefix = @prefix@
 program_transform_name = @program_transform_name@
 psdir = @psdir@
-runstatedir = @runstatedir@
 sbindir = @sbindir@
 sharedstatedir = @sharedstatedir@
 srcdir = @srcdir@

Reply via email to