On Sun, 13 Nov 2022, 18:06 Arsen Arsenović via Libstdc++, <
libstd...@gcc.gnu.org> wrote:

> I'm unsure why this issue only started manifesting now with how old this
> code is, but this should fix it.
>

I just pushed a change to how the debug build makefiles are generated,
which presumably uncovered this latent bug. I'll review the patch in the
morning.



> libstdc++-v3/ChangeLog:
>
>         * python/Makefile.am: Call mkinstalldirs before INSTALL_DATA
>         when installing gdb scripts.
>         * python/Makefile.in: Regenerate.
> ---
> Hi,
>
> Someone spotted on IRC spotted an error: if trying to install to a fresh
> prefix/sysroot with --enable-libstdcxx-debug, the install fails since it's
> intended target directories don't exist.  I could replicate this on
> r13-3944-g43435c7eb0ff60 using
>
> $ ../gcc/configure --disable-bootstrap \
>         --enable-libstdcxx-debug \
>         --enable-languages=c,c++ \
>         --prefix=$(pwd)/pfx
>
> Install tested on x86_64-pc-linux-gnu with and without
> --enable-libstdcxx-debug.
>
>  libstdc++-v3/python/Makefile.am | 4 ++++
>  libstdc++-v3/python/Makefile.in | 4 ++++
>  2 files changed, 8 insertions(+)
>
> diff --git a/libstdc++-v3/python/Makefile.am
> b/libstdc++-v3/python/Makefile.am
> index f523d3a44dc..7987d33e6d9 100644
> --- a/libstdc++-v3/python/Makefile.am
> +++ b/libstdc++-v3/python/Makefile.am
> @@ -58,9 +58,13 @@ install-data-local: gdb.py
>           libname=`sed -ne "/^old_library=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
>                   $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \
>         fi; \
> +       echo " $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)"; \
> +       $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir); \
>         echo " $(INSTALL_DATA) gdb.py
> $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
>         $(INSTALL_DATA) gdb.py
> $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py ; \
>         if [ -n "$(debug_gdb_py)" ]; then \
>           sed "/^libdir = /s;'$$;/debug';" gdb.py > debug-gdb.py ; \
> +         echo " $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)/debug"; \
> +         $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)/debug; \
>           $(INSTALL_DATA) debug-gdb.py
> $(DESTDIR)$(toolexeclibdir)/debug/$$libname-gdb.py ; \
>         fi
> diff --git a/libstdc++-v3/python/Makefile.in
> b/libstdc++-v3/python/Makefile.in
> index 05e79b5ac1e..a68c1836481 100644
> --- a/libstdc++-v3/python/Makefile.in
> +++ b/libstdc++-v3/python/Makefile.in
> @@ -623,10 +623,14 @@ install-data-local: gdb.py
>           libname=`sed -ne "/^old_library=/{s/.*='//;s/'$$//;s/ .*//;p;}" \
>                   $(DESTDIR)$(toolexeclibdir)/libstdc++.la`; \
>         fi; \
> +       echo " $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)"; \
> +       $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir); \
>         echo " $(INSTALL_DATA) gdb.py
> $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py"; \
>         $(INSTALL_DATA) gdb.py
> $(DESTDIR)$(toolexeclibdir)/$$libname-gdb.py ; \
>         if [ -n "$(debug_gdb_py)" ]; then \
>           sed "/^libdir = /s;'$$;/debug';" gdb.py > debug-gdb.py ; \
> +         echo " $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)/debug"; \
> +         $(mkinstalldirs) $(DESTDIR)$(toolexeclibdir)/debug; \
>           $(INSTALL_DATA) debug-gdb.py
> $(DESTDIR)$(toolexeclibdir)/debug/$$libname-gdb.py ; \
>         fi
>
> --
> 2.38.1
>
>

Reply via email to