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@