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

Bug#720834: eglibc: FTBFS with make 3.82 from experimental: /usr/bin/install: cannot remove '/usr/include/locale.h': Permission denied



On Sun, Aug 25, 2013 at 07:46:25AM -0700, Daniel Schepler wrote:
> Source: eglibc
> Version: 2.17-92
> Severity: important
> 
> >From my pbuilder build log, using a chroot image with make 3.82-1 from
> experimental installed:
> 
> ...
> make[5]: Entering directory `/tmp/buildd/eglibc-2.17/time'
> make[5]: Nothing to be done for `rtld-all'.
> make[5]: Leaving directory `/tmp/buildd/eglibc-2.17/time'
> make[4]: Leaving directory `/tmp/buildd/eglibc-2.17/elf'
> .././scripts/mkinstalldirs /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu
> mkdir /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib
> mkdir /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu
> .././scripts/mkinstalldirs /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu
> /usr/bin/install -c /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/elf/ld.so /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/ld-2.17.so.new
> mv -f /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/ld-2.17.so.new /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/ld-2.17.so
> /usr/bin/install -c /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/libc.so /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/libc-2.17.so.new
> mv -f /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/libc-2.17.so.new /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/libc-2.17.so
> echo ld-2.17.so /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 >> /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/elf/symlink.list
> make[3]: Leaving directory `/tmp/buildd/eglibc-2.17/elf'
> /usr/bin/install -c /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/libc.so /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/libc-2.17.so.new
> mv -f /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/libc-2.17.so.new /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/libc-2.17.so
> echo libc-2.17.so /tmp/buildd/eglibc-2.17/debian/tmp-libc/lib/x86_64-linux-gnu/libc.so.6 >> /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/elf/symlink.list
> echo > /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/format.lds.new 'OUTPUT_FORMAT(elf64-x86-64)'
> mv -f /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/format.lds.new /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/format.lds
> (echo '/* GNU ld script';\
>  echo '   Use the shared library, but some functions are only in';\
>  echo '   the static library, so try that secondarily.  */';\
>  cat /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/format.lds; \
>  echo 'GROUP ( /lib/x86_64-linux-gnu/libc.so.6' \
>       '/usr/lib/x86_64-linux-gnu/libc_nonshared.a'\
>       ' AS_NEEDED (' /lib/x86_64-linux-gnu/ld-linux-x86-64.so.2 ') )' \
> ) > /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/lib/x86_64-linux-gnu/libc.so.new
> mv -f /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/lib/x86_64-linux-gnu/libc.so.new /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/lib/x86_64-linux-gnu/libc.so
> ./scripts/mkinstalldirs /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include
> mkdir /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include
> /usr/bin/install -c -m 644 include/limits.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/limits.h
> /usr/bin/install -c -m 644 include/values.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/values.h
> /usr/bin/install -c -m 644 include/features.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/features.h
> /usr/bin/install -c -m 644 include/gnu-versions.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu-versions.h
> ./scripts/mkinstalldirs /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/bits
> mkdir /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/bits
> /usr/bin/install -c -m 644 nptl/sysdeps/pthread/bits/libc-lock.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/bits/libc-lock.h
> /usr/bin/install -c -m 644 include/bits/xopen_lim.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/bits/xopen_lim.h
> ./scripts/mkinstalldirs /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu
> mkdir /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu
> /usr/bin/install -c -m 644 include/gnu/libc-version.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu/libc-version.h
> /usr/bin/install -c -m 644 include/stdc-predef.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/stdc-predef.h
> /usr/bin/install -c -m 644 bits/predefs.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/bits/predefs.h
> /usr/bin/install -c -m 644 /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/gnu/lib-names.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu/lib-names.h
> { \
>  echo '/* This file is automatically generated.';\
>  echo "   This file selects the right generated file of \`__stub_FUNCTION' macros";\
>  echo '   based on the architecture being compiled for.  */'; \
>  echo ''; \
>   \
>  echo ''; \
>    echo '#if !defined __x86_64__'; echo '# include <gnu/stubs-32.h>'; echo '#endif'; rm -f /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu/stubs.h.new32;    echo '#if defined __x86_64__ && defined __LP64__'; echo '# include <gnu/stubs-64.h>'; echo '#endif'; rm -f /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu/stubs.h.new64;    echo '#if defined __x86_64__ && defined __ILP32__'; echo '# include <gnu/stubs-x32.h>'; echo '#endif'; rm -f /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu/stubs.h.newx32;  \
> } > /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu/stubs.h.new
> mv -f /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu/stubs.h.new /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu/stubs.h
> /usr/bin/make  subdir=csu -C csu ..=../ subdir_install
> make[3]: Entering directory `/tmp/buildd/eglibc-2.17/csu'
> /usr/bin/install -c -m 644 /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/gnu/option-groups.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gnu/option-groups.h
> /usr/bin/install -c -m 644 /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/crt1.o /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/lib/x86_64-linux-gnu/crt1.o
> /usr/bin/install -c -m 644 /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/gcrt1.o /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/lib/x86_64-linux-gnu/gcrt1.o
> /usr/bin/install -c -m 644 /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/Mcrt1.o /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/lib/x86_64-linux-gnu/Mcrt1.o
> /usr/bin/install -c -m 644 /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/Scrt1.o /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/lib/x86_64-linux-gnu/Scrt1.o
> /usr/bin/install -c -m 644 /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/crti.o /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/lib/x86_64-linux-gnu/crti.o
> /usr/bin/install -c -m 644 /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/crtn.o /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/lib/x86_64-linux-gnu/crtn.o
> (cd /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/.; objdump -h init-first.o libc-start.o sysdep.o version.o check_fds.o libc-tls.o elf-init.o dso_handle.o errno.o init-arch.o errno-loc.o hp-timing.o init-first.os libc-start.os sysdep.os version.os check_fds.os dso_handle.os unwind-resume.os errno.os init-arch.os errno-loc.os init-first.op libc-start.op sysdep.op version.op check_fds.op libc-tls.op elf-init.op dso_handle.op errno.op init-arch.op errno-loc.op hp-timing.op elf-init.oS start.o gmon-start.o crt1.o gcrt1.o Mcrt1.o Scrt1.o crti.o crtn.o abi-note.o init.o) | \
> gawk '/\.gnu\.glibc-stub\./ { \
>           sub(/\.gnu\.glibc-stub\./, "", $2); \
>           stubs[$2] = 1; } \
>         END { for (s in stubs) print "#define __stub_" s }' > /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/stubsT
> mv -f /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/stubsT /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/stubs
> make[3]: Leaving directory `/tmp/buildd/eglibc-2.17/csu'
> /usr/bin/make  subdir=iconv -C iconv ..=../ subdir_install
> make[3]: Entering directory `/tmp/buildd/eglibc-2.17/iconv'
> /usr/bin/install -c -m 644 iconv.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/iconv.h
> /usr/bin/install -c -m 644 gconv.h /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/include/gconv.h
> x86_64-linux-gnu-gcc-4.7 -nostdlib -nostartfiles -o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/iconvconfig  -Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2   -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/crt1.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/crti.o `x86_64-linux-gnu-gcc-4.7  --print-file-name=crtbegin.o` /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/iconvconfig.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/strtab.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/xmalloc.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/hash-string.o  -Wl,-rpath-link=/tmp/buildd/eglibc-2.17/build-tree/amd64-libc:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/math:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/elf:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/dlfcn:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/nss:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/nis:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/rt:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/resolv:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/crypt:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/nptl /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/libc.so.6 /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/libc_nonshared.a -Wl,--as-needed /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/elf/ld.so -Wl,--no-as-needed -lgcc  `x86_64-linux-gnu-gcc-4.7  --print-file-name=crtend.o` /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/crtn.o
> .././scripts/mkinstalldirs /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/sbin
> mkdir /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/sbin
> /usr/bin/install -c /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/iconvconfig /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/sbin/iconvconfig.new
> mv -f /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/sbin/iconvconfig.new /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/sbin/iconvconfig
> x86_64-linux-gnu-gcc-4.7 -nostdlib -nostartfiles -o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/iconv_prog  -Wl,-dynamic-linker=/lib64/ld-linux-x86-64.so.2   -Wl,-z,combreloc -Wl,-z,relro -Wl,--hash-style=both /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/crt1.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/crti.o `x86_64-linux-gnu-gcc-4.7  --print-file-name=crtbegin.o` /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/iconv_prog.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/iconv_charmap.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/charmap.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/charmap-dir.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/linereader.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/dummy-repertoire.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/simple-hash.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/xstrdup.o /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/xmalloc.o  -Wl,-rpath-link=/tmp/buildd/eglibc-2.17/build-tree/amd64-libc:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/math:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/elf:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/dlfcn:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/nss:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/nis:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/rt:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/resolv:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/crypt:/tmp/buildd/eglibc-2.17/build-tree/amd64-libc/nptl /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/libc.so.6 /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/libc_nonshared.a -Wl,--as-needed /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/elf/ld.so -Wl,--no-as-needed -lgcc  `x86_64-linux-gnu-gcc-4.7  --print-file-name=crtend.o` /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/csu/crtn.o
> .././scripts/mkinstalldirs /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/bin
> mkdir /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/bin
> /usr/bin/install -c /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/iconv_prog /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/bin/iconv.new
> mv -f /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/bin/iconv.new /tmp/buildd/eglibc-2.17/debian/tmp-libc/usr/bin/iconv
> (cd /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/.; objdump -h iconv_open.o iconv.o iconv_close.o gconv_open.o gconv.o gconv_close.o gconv_db.o gconv_conf.o gconv_builtin.o gconv_simple.o gconv_trans.o gconv_cache.o gconv_dl.o iconv_open.os iconv.os iconv_close.os gconv_open.os gconv.os gconv_close.os gconv_db.os gconv_conf.os gconv_builtin.os gconv_simple.os gconv_trans.os gconv_cache.os gconv_dl.os iconv_open.op iconv.op iconv_close.op gconv_open.op gconv.op gconv_close.op gconv_db.op gconv_conf.op gconv_builtin.op gconv_simple.op gconv_trans.op gconv_cache.op gconv_dl.op iconv_charmap.o charmap.o charmap-dir.o linereader.o dummy-repertoire.o simple-hash.o xstrdup.o xmalloc.o strtab.o hash-string.o) | \
> gawk '/\.gnu\.glibc-stub\./ { \
>           sub(/\.gnu\.glibc-stub\./, "", $2); \
>           stubs[$2] = 1; } \
>         END { for (s in stubs) print "#define __stub_" s }' > /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/stubsT
> mv -f /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/stubsT /tmp/buildd/eglibc-2.17/build-tree/amd64-libc/iconv/stubs
> make[3]: Leaving directory `/tmp/buildd/eglibc-2.17/iconv'
> /usr/bin/make  subdir=locale -C locale ..=../ subdir_install
> make[3]: Entering directory `/tmp/buildd/eglibc-2.17/locale'
> make[3]: Leaving directory `/tmp/buildd/eglibc-2.17/locale'
> make[3]: Entering directory `/tmp/buildd/eglibc-2.17/locale'
> /usr/bin/install -c -m 644 locale.h /usr/include/locale.h
> /usr/bin/install: cannot remove '/usr/include/locale.h': Permission denied
> make[3]: *** [/usr/include/locale.h] Error 1
> make[3]: Leaving directory `/tmp/buildd/eglibc-2.17/locale'
> make[2]: *** [locale/subdir_install] Error 2
> make[2]: Leaving directory `/tmp/buildd/eglibc-2.17'
> make[1]: *** [install] Error 2
> make[1]: Leaving directory `/tmp/buildd/eglibc-2.17/build-tree/amd64-libc'
> make: *** [/tmp/buildd/eglibc-2.17/stamp-dir/install_libc] Error 2
> dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit status 2
> 
> (It seems strange that there are several successful directories, and then
> suddenly in locale/ it forgets about DESTDIR.  But this is 100% reproducible
> with this version of make.  Even stranger, if I rerun fakeroot debian/rules
> binary after this failure, it goes through successfully, even for the
> subsequent i386 and x32 installs.)

Isn't that the same bug as #635317, that should therefore be fixed on
the make side? At least this bug is marked as affecting src:eglibc.

-- 
Aurelien Jarno	                        GPG: 1024D/F1BCDB73
aurelien@aurel32.net                 http://www.aurel32.net


Reply to: