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

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



Hello,

Svante Signell, le mar. 25 janv. 2022 16:15:46 +0100, a ecrit:
> 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

Is this really unmodified source code? I don't see how there could be an

mkdir /home

triggered by the build rules you are patching:

> --- 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)

None of these are to be /home

> --- 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

The -d test just above makes it so that since /home already exists, no
mkdir would be called.


> 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

Here there is not even an "mkdir" printed, so it's not the patch that
fixed it, but something else, which is what you should rather be after.

I'd say revert your patch, and check e.g. with stat why exactly the

"test ! -d $pathcomp"

wouldn't say that /home is already a directory.

And check with e.g. echo what rule exactly produces such

mkdir /home 

on your system, there is really no reason for it to be there.

Samuel


Reply to: