Re: libc6:m68k 2.28-1
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
--
Reply to: