Source: binfmtc
Version: 0.17-2.3
Severity: important
Tags: ftbfs
Justification: FTBFS
X-Debbugs-Cc: [email protected]
User: [email protected]
Usertags: rrr-no-as-default-issue

Dear maintainer,

During a test rebuild for building packages with
`Rules-Requires-Root: no` as the default in `dpkg`,
binfmtc failed to rebuild.

Log Summary:
-------------------------------------------------------------------------------
[...]
----------------

Sufficient free space for build

User Environment
----------------

APT_CONFIG=/var/lib/sbuild/apt.conf
HOME=/sbuild-nonexistent
LANG=en_US.UTF-8
LC_ALL=C.UTF-8
LOGNAME=debusine-worker
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SHELL=/bin/sh
USER=debusine-worker

dpkg-buildpackage
-----------------

Command: dpkg-buildpackage -us -uc -b -rfakeroot
dpkg-buildpackage: info: source package binfmtc
dpkg-buildpackage: info: source version 0.17-2.3
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Bastian Germann <[email protected]>
 dpkg-source --before-build .
dpkg-buildpackage: info: host architecture arm64
 debian/rules clean
dh_testdir
dh_testroot
rm -f build-stamp configure-stamp
/usr/bin/make clean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: *** No rule to make target 'clean'.  Stop.
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: [debian/rules:38: clean] Error 2 (ignored)
/usr/bin/make distclean
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[1]: *** No rule to make target 'distclean'.  Stop.
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: [debian/rules:39: clean] Error 2 (ignored)
dh_clean
dh_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use)
 debian/rules binary
dh_testdir
INSTALL_PROGRAM='install -p -o root -g root -m 755' CFLAGS='-Wall -g -O2' dh_auto_configure dh_auto_configure: warning: Compatibility levels before 10 are deprecated (level 9 in use) ./configure --build=aarch64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/aarch64-linux-gnu --libexecdir=\${prefix}/lib/aarch64-linux-gnu --disable-maintainer-mode --disable-dependency-tracking
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... no
checking for mawk... mawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for style of include used by make... GNU
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... none
checking for library containing strerror... none required
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) none
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking dependency style of g++... none
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking dependency style of gcc... (cached) none
checking whether make sets $(MAKE)... (cached) yes
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for ANSI C header files... yes
checking for an ANSI C-conforming const... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands
touch configure-stamp
dh_testdir
/usr/bin/make
make[1]: Entering directory '/<<PKGBUILDDIR>>'
/usr/bin/make  all-am
make[2]: Entering directory '/<<PKGBUILDDIR>>'
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -c binfmtc-interpreter.c
binfmtc-interpreter.c: In function ‘compile_source’:
binfmtc-interpreter.c:46:3: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   46 |   asprintf(&tempfilename, "%s/binfmtcXXXXXX",
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   47 |            getenv("BINFMTCTMPDIR")?:
      |            ~~~~~~~~~~~~~~~~~~~~~~~~~
   48 |            getenv("TMPDIR")?:
      |            ~~~~~~~~~~~~~~~~~~
   49 |            getenv("TEMPDIR")?:
      |            ~~~~~~~~~~~~~~~~~~~
   50 |            "/tmp"
      |            ~~~~~~
   51 |            );
      |            ~
binfmtc-interpreter.c:102:3: warning: ignoring return value of ‘asprintf’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  102 |   asprintf (&gcccommandline,
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~
  103 |             "%s -o %s %s %s %s \"%s\"",
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~
  104 |             compiler_name(),
      |             ~~~~~~~~~~~~~~~~
  105 |             tempfilename,
      |             ~~~~~~~~~~~~~
  106 |             gcc_x,
      |             ~~~~~~
  107 |             s+BINFMTC_MAGIC_LEN,
      |             ~~~~~~~~~~~~~~~~~~~~
  108 |             default_options(),
      |             ~~~~~~~~~~~~~~~~~~
  109 |             basename(sourcename));
      |             ~~~~~~~~~~~~~~~~~~~~~
gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -c binfmtc-lang-c.c gcc -Wall -g -O2 -Wl,-z,relro -o binfmtc-interpreter binfmtc-interpreter.o binfmtc-lang-c.o gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -c binfmtc-lang-f.c gcc -Wall -g -O2 -Wl,-z,relro -o binfmtf-interpreter binfmtc-interpreter.o binfmtc-lang-f.o gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -c binfmtc-lang-f95.c gcc -Wall -g -O2 -Wl,-z,relro -o binfmtf95-interpreter binfmtc-interpreter.o binfmtc-lang-f95.o gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -c binfmtc-lang-cxx.c gcc -Wall -g -O2 -Wl,-z,relro -o binfmtcxx-interpreter binfmtc-interpreter.o binfmtc-lang-cxx.o gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -c binfmtc-lang-asm.c gcc -Wall -g -O2 -Wl,-z,relro -o binfmtasm-interpreter binfmtc-interpreter.o binfmtc-lang-asm.o gcc -DHAVE_CONFIG_H -I. -Wdate-time -D_FORTIFY_SOURCE=2 -Wall -g -O2 -c binfmtc-lang-gcj.c gcc -Wall -g -O2 -Wl,-z,relro -o binfmtgcj-interpreter binfmtc-interpreter.o binfmtc-lang-gcj.o make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
#-/usr/bin/make check
touch build-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_clean: warning: Compatibility levels before 10 are deprecated (level 9 in use)
dh_clean: warning: dh_clean -k is deprecated; use dh_prep instead
dh_clean: warning: This feature will be removed in compat 12.
dh_installdirs
dh_installdirs: warning: Compatibility levels before 10 are deprecated (level 9 in use)
/usr/bin/make install DESTDIR=/<<PKGBUILDDIR>>/debian/binfmtc
make[1]: Entering directory '/<<PKGBUILDDIR>>'
make[2]: Entering directory '/<<PKGBUILDDIR>>'
test -z "/usr/bin" || /usr/bin/mkdir -p "/<<PKGBUILDDIR>>/debian/binfmtc/usr/bin" install -p -o root -g root -m 755 binfmtc-interpreter binfmtf-interpreter binfmtf95-interpreter binfmtcxx-interpreter binfmtasm-interpreter binfmtgcj-interpreter '/<<PKGBUILDDIR>>/debian/binfmtc/usr/bin' install: cannot change ownership of '/<<PKGBUILDDIR>>/debian/binfmtc/usr/bin/binfmtc-interpreter': Operation not permitted install: cannot change ownership of '/<<PKGBUILDDIR>>/debian/binfmtc/usr/bin/binfmtf-interpreter': Operation not permitted install: cannot change ownership of '/<<PKGBUILDDIR>>/debian/binfmtc/usr/bin/binfmtf95-interpreter': Operation not permitted install: cannot change ownership of '/<<PKGBUILDDIR>>/debian/binfmtc/usr/bin/binfmtcxx-interpreter': Operation not permitted install: cannot change ownership of '/<<PKGBUILDDIR>>/debian/binfmtc/usr/bin/binfmtasm-interpreter': Operation not permitted install: cannot change ownership of '/<<PKGBUILDDIR>>/debian/binfmtc/usr/bin/binfmtgcj-interpreter': Operation not permitted
make[2]: *** [Makefile:346: install-binPROGRAMS] Error 1
make[2]: Leaving directory '/<<PKGBUILDDIR>>'
make[1]: *** [Makefile:889: install-am] Error 2
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
make: *** [debian/rules:47: install] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------
Build finished at 2024-11-15T20:16:12Z

-------------------------------------------------------------------------------


The above is just how the build ends and not necessarily the most
relevant part. If required, the full build log is available here:

https://people.debian.org/~nthykier/rrr-no-as-default/logs/975147.gz

You can find common solutions at
https://people.debian.org/~nthykier/rrr-no-as-default/docs/solutions.md

If this is really a bug in one of the build-depends, please use
reassign and affects, so that this is still visible in the BTS web
page for this package.

If this package is listed in
https://people.debian.org/~nthykier/rrr-no-as-default/docs/static-ownership.list,
then please just set `Rules-Requires-Root: binary-targets` to the source
stanza of `debian/control` as a fix to this bug.

If this package is listed in
https://people.debian.org/~nthykier/rrr-no-as-default/docs/maybe-misbuilds.list,
then the package was deemed at risk for misbuilding (having wrong
ownership) but had a FTBFS problem we tested it. Please test whether the
package works with `Rules-Requires-Root: no` validating that the
resulting deb has the correct ownership for all paths in the deb.

The goal is to have the default changed in `dpkg` either in `Trixie` or
`Forky`, depending on progress and feasibility with the release schedule
for Trixie.

For more information on this bug filing, please see:
https://lists.debian.org/debian-dpkg/2024/11/msg00016.html

Thanks,


PS: The builds were performed in mid-November. If you fixed the problem
between between then and this bug being filed, then please just close
the bug with the version it was fixed in.

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to