On Thu, 6 Dec 2018, John Paul Adrian Glaubitz wrote:
> There is another serious problem with glibc 2.28 on m68k which makes > some packages fail to build [1]: > Interesting. > [...] > Downgrading from 2.28 to 2.27 fixes the problem: > > (sid-m68k-sbuild)root@epyc:/build/hp2xx-j13jUj/hp2xx-3.4.4# ./debian/rules > binary-arch > dh binary-arch > dh_testroot -a > dh_prep -a > rm -f -- debian/hp2xx.substvars > rm -fr -- debian/.debhelper/generated/hp2xx/ debian/hp2xx/ debian/tmp/ > dh_installdirs -a > install -d debian/hp2xx/usr/bin > debian/hp2xx/usr/share/doc/hp2xx/hp-tests debian/hp2xx/usr/share/info > debian/hp2xx/usr/share/man/man1 > rm -f debian/hp2xx.debhelper.log > debian/rules override_dh_auto_install > make[1]: Entering directory '/build/hp2xx-j13jUj/hp2xx-3.4.4' > dh_auto_install -- prefix=/build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr \ > > man1dir=/build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/share/man/man1 \ > infodir=/build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/share/info > make V=1 -j1 install > DESTDIR=/build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx AM_UPDATE_INFO_DIR=no > "INSTALL=install --strip-program=true" > prefix=/build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr > man1dir=/build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/share/man/man1 > infodir=/build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/share/info > make[2]: Entering directory '/build/hp2xx-j13jUj/hp2xx-3.4.4' > cd sources; make install > make[3]: Entering directory '/build/hp2xx-j13jUj/hp2xx-3.4.4/sources' > cp hp2xx /build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/bin > chmod 755 /build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/bin/hp2xx > cp hp2xx.info /build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/share/info > chmod 644 > /build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/share/info/hp2xx.info > cp ../doc/hp2xx.1 > /build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/share/man/man1 > chmod 644 > /build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/share/man/man1/hp2xx.1 > make[3]: Leaving directory '/build/hp2xx-j13jUj/hp2xx-3.4.4/sources' > make[2]: Leaving directory '/build/hp2xx-j13jUj/hp2xx-3.4.4' > cp -a /build/hp2xx-j13jUj/hp2xx-3.4.4/doc/changes > /build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/share/doc/hp2xx/changelog_old > cp -a /build/hp2xx-j13jUj/hp2xx-3.4.4/hp-tests/* > /build/hp2xx-j13jUj/hp2xx-3.4.4/debian/hp2xx/usr/share/doc/hp2xx/hp-tests/ > /bin/cp: cannot stat '/build/hp2xx-j13jUj/hp2xx-3.4.4/hp-tests/*': No such > file or directory > make[1]: *** [debian/rules:15: override_dh_auto_install] Error 1 > make[1]: Leaving directory '/build/hp2xx-j13jUj/hp2xx-3.4.4' > make: *** [debian/rules:10: binary-arch] Error 2 That's -ENOENT from stat(2) from cp(1) when running under qemu-user, right? Can you stat these files using native tools (to bypass qemu-user, m68k libc, etc) and confirm their presence? > (sid-m68k-sbuild)root@epyc:/build/hp2xx-j13jUj/hp2xx-3.4.4# dpkg -i /tmp/*deb > dpkg: warning: downgrading libc-bin from 2.28-2 to 2.27-8 > (Reading database ... 47196 files and directories currently installed.) > Preparing to unpack /tmp/libc-bin_2.27-8_m68k.deb ... > Unpacking libc-bin (2.27-8) over (2.28-2) ... > dpkg: warning: downgrading libc-dev-bin from 2.28-2 to 2.27-8 > Preparing to unpack .../libc-dev-bin_2.27-8_m68k.deb ... > Unpacking libc-dev-bin (2.27-8) over (2.28-2) ... > dpkg: warning: downgrading libc6-dev:m68k from 2.28-2 to 2.27-8 > Preparing to unpack /tmp/libc6-dev_2.27-8_m68k.deb ... > Unpacking libc6-dev:m68k (2.27-8) over (2.28-2) ... > dpkg: warning: downgrading libc6:m68k from 2.28-2 to 2.27-8 > Preparing to unpack /tmp/libc6_2.27-8_m68k.deb ... > debconf: unable to initialize frontend: Dialog > debconf: (No usable dialog-like program is installed, so the dialog based > frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line > 76.) > debconf: falling back to frontend: Readline > Unpacking libc6:m68k (2.27-8) over (2.28-2) ... > dpkg: warning: downgrading multiarch-support from 2.28-2 to 2.27-8 > Preparing to unpack .../multiarch-support_2.27-8_m68k.deb ... > Unpacking multiarch-support (2.27-8) over (2.28-2) ... > Setting up libc6:m68k (2.27-8) ... > debconf: unable to initialize frontend: Dialog > debconf: (No usable dialog-like program is installed, so the dialog based > frontend cannot be used. at /usr/share/perl5/Debconf/FrontEnd/Dialog.pm line > 76.) > debconf: falling back to frontend: Readline > Setting up multiarch-support (2.27-8) ... > Setting up libc-bin (2.27-8) ... > Setting up libc-dev-bin (2.27-8) ... > Setting up libc6-dev:m68k (2.27-8) ... > Processing triggers for man-db (2.8.4-3) ... > Not building database; man-db/auto-update is not 'true'. I'll need to try downgrading the same packages, to see whether that affects the -ECHILD failure from dash, because it's not clear that libc is the cause of both errors. Maybe you already tried that? Regardless, I think I was wrong to blame dash for this: it seems that man fails in a similar way to dash. That is, -ECHILD from waitpid... # man man man: waitpid failed: No child processes --