Source: hurd Version: 0.9.git20211230-5 Severity: important Tags: patch User: debian-hurd@lists.debian.org Usertags: hurd
Hi, Currently hurd FTBFS on GNU/Hurd due to a problem with the Makeconf/mkinstalldirs scripts. >From the build log: make -C libshouldbeinlibc install make[3]: Entering directory '/home/.../hurd-0.9.git20211230/build-deb/ libshouldbeinlibc' mkdir /home mkdir: cannot create directory ‘/home’: File exists mkdir /home/.../hurd-0.9.git20211230/debian/tmp/lib mkdir /home/.../hurd-0.9.git20211230/debian/tmp/lib/i386-gnu ../../Makeconf:307: recipe for target '/home/.../hurd- 0.9.git20211230/debian/tmp/lib/i386-gnu' failed make[3]: *** [/home/.../hurd-0.9.git20211230/debian/tmp/lib/i386-gnu] Error 1 make[3]: Leaving directory '/home/.../hurd-0.9.git20211230/build- deb/libshouldbeinlibc' ../Makefile:280: recipe for target 'libshouldbeinlibc-install' failed make[2]: *** [libshouldbeinlibc-install] Error 2 On the buildd the build succeeds: make[3]: Entering directory '/<<PKGBUILDDIR>>/build- deb/libshouldbeinlibc' mkdir /<<PKGBUILDDIR>>/debian/tmp/lib mkdir /<<PKGBUILDDIR>>/debian/tmp/lib/i386-gnu mkdir /<<PKGBUILDDIR>>/debian/tmp/usr mkdir /<<PKGBUILDDIR>>/debian/tmp/usr/include where I: NOTICE: Log filtering will replace 'build/hurd-52h0Hx/hurd- 0.9.git20211230' with '<<PKGBUILDDIR>>' Maybe building hurd in a chroot would also succeed. This has not been attempted yet. The attached patch, Makeconf.patch, has been used to successfully build hurd on GNU/Hurd locally. Alternately one could modify mkinstalldirs accordingly since MKINSTALLDIRS = $(top_srcdir)/mkinstalldirs, and replacing mkdir with mkdir -p, as given in mkinstalldirs.patch. With this patch hurd builds fine too. It might be the preferred solution. >From the build log: make -C libshouldbeinlibc install make[3]: Entering directory '/home/hurd-0.9.git20211230/build- deb/libshouldbeinlibc' mkdir -p /home/.../hurd-0.9.git20211230/debian/tmp/lib mkdir -p /home/.../hurd-0.9.git20211230/debian/tmp/lib/i386-gnu mkdir -p /home/.../hurd-0.9.git20211230/debian/tmp/usr mkdir -p /home/.../hurd-0.9.git20211230/debian/tmp/usr/include Thanks!
--- a/Makeconf 2022-01-25 10:57:58.000000000 +0100 +++ b/Makeconf 2022-01-25 10:57:41.000000000 +0100 @@ -240,7 +240,7 @@ all: $(install-targets) install: $(DESTDIR)$(installationdir) $(addprefix $(DESTDIR)$(installationdir)/,$(install-targets)) $(DESTDIR)$(installationdir): - @$(MKINSTALLDIRS) $@ + -@$(MKINSTALLDIRS) $@ $(addprefix $(DESTDIR)$(installationdir)/,$(installable)): $(DESTDIR)$(installationdir)/%: % $(INSTALL_PROGRAM) $(INSTALL-$<-ops) $< $@ else @@ -255,7 +255,7 @@ install-headers: $(DESTDIR)$(includedir)/$(installhdrsubdir) $(addprefix $(DESTDIR)$(includedir)/$(installhdrsubdir)/,$(installhdrs)) $(DESTDIR)$(includedir)/$(installhdrsubdir): $(DESTDIR)$(includedir) - @$(MKINSTALLDIRS) $@ + -@$(MKINSTALLDIRS) $@ # Arrange to have the headers installed locally anytime we build the library. # Not quite perfect, but at least it does end up getting done; and once done @@ -304,7 +304,7 @@ # Making installation directories $(addprefix $(DESTDIR),$(installationdirlist)): %: - @$(MKINSTALLDIRS) $@ + -@$(MKINSTALLDIRS) $@ # Building the target ifneq ($(makemode),misc)
--- a/mkinstalldirs 2021-12-30 15:16:15.000000000 +0100 +++ b/mkinstalldirs 2022-01-25 15:41:19.000000000 +0100 @@ -22,9 +22,9 @@ esac if test ! -d "$pathcomp"; then - echo "mkdir $pathcomp" 1>&2 + echo "mkdir -p $pathcomp" 1>&2 - mkdir "$pathcomp" || lasterr=$? + mkdir -p "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr