[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1004348: hurd: FTBFS on hurd-i386 locally



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

Reply to: