On Sun, 13 Nov 2022, 18:06 Arsen Arsenović via Libstdc++, < libstdc++@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 > >