Re: Dpkg fails to install certain packages
Yes, that works for me also. A new Eterm window installs the packages
just fine.
Jake Griesbach
On Mon, 1 Feb 1999, Jules Bean wrote:
> On Mon, 1 Feb 1999, Jake Griesbach wrote:
>
> > Dpkg fails to install certain packages, due to gzip -dc returning an
> > error. This seems prominent in more than a few current packages.
>
> [...]
>
> > gzip: stdout: Broken pipe
> > dpkg-deb: subprocess gzip -dc returned error exit status 1
> > dpkg: error processing debian/dists/unstable/main/binary-i386/devel/libgnome0_0.30.1-5.deb (--install):
> > subprocess dpkg-deb --fsys-tarfile returned error exit status 2
> > Errors were encountered while processing:
> > debian/dists/unstable/main/binary-i386/devel/libgnome0_0.30.1-5.deb
> > DPKG ERROR
>
> I'm replying directly since I the bug number hasn't come through yet.
> I'll forward my own message, or a reply to it, to the bug when it gets
> there.
>
> I am also seeing this error. And I'm seeing similar errors with
> dpkg-source -x and dpkg-source -b
>
> I tracked it down as follows:
>
> It's something to do with this sub in dpkg-source:
>
> sub reapgzip {
> #print STDERR "reapgzip $_[0]\n";
> $cgz == waitpid($cgz,0) || &syserr("wait for gzip");
> !$? || ($gzipsigpipeok && WIFSIGNALED($?) && WTERMSIG($?)==SIGPIPE) ||
> subprocerr("gzip");
> close(GZIPFILE);
> }
>
> $gzipsigpipeok is true; WIFSIGNALED($?) is not true. WTERMSIG I didn't
> check (sorry!).
>
> So something funny seems to be happening with the disposition of the
> SIGPIPE.
>
> I am guessing that the error in dpkg itself is broadly the same.
>
> >
> > dpkg version is 1.4.1
> > dpkg-ftp version is 1.6.1
> > gzip version is 1.2.4-29
> >
> > kernel version: 2.2.1
> > libc-2.0.7.so
> > perl version: 5.004.04-6
>
> I'm using kernel 2.0.33, so it's not that.
> I'm not using dpkg-ftp at all, so it's not that.
>
> If it's a signalling problem, then I'm guessing it's a libc problem? But
> I don't really understand what's going on at all.
>
> An example as I see it in dpkg-source:
>
> jules@pear% dpkg-source -b marble3d-0.0.1 marble3d_0.0.1.orig.tar.gz
> 5:50PM
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> dpkg-source: building marble3d using existing marble3d_0.0.1.orig.tar.gz
>
> gunzip: stdout: Broken pipe
> dpkg-source: failure: gzip gave error exit status 1
>
> There's nothing wrong with the package - if I dpkg-source from an unpacked
> orig source, it builds fine.
>
> It's only the gzipped source it has trouble with..
>
> However, the worst thing is, it's not reproducible.
>
> Immediately after I generated the error above, I opened a fresh terminal
> window, and ran exactly the same command, from exactly the same directory,
> and it works as expected:
>
> jules@pear% dpkg-source -b marble3d-0.0.1 marble3d_0.0.1.orig.tar.gz
> 5:53PM
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> dpkg-source: building marble3d using existing marble3d_0.0.1.orig.tar.gz
> dpkg-source: building marble3d in marble3d_0.0.1-1.diff.gz
> dpkg-source: building marble3d in marble3d_0.0.1-1.dsc
>
>
> So, look at this: This is in two different Eterms:
>
> Number 1:
> -------------
> jules@pear% pwd
> 5:57PM
> /home/jules/debian/packaging
> jules@pear% env
> 5:57PM
> HOSTNAME=pear
> USER=jules
> MACHTYPE=i686
> DISPLAY=:1.0
> LOGNAME=jules
> SHLVL=2
> SHELL=/usr/bin/zsh
> HOSTTYPE=i486
> OSTYPE=linux
> HOME=/home/jules
> TERM=xterm
> PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
> _=/usr/bin/env
> SESSION_MANAGER=local/pear:/tmp/.ICE-unix/1620,tcp/pear:2109
> ETERM_THEME_ROOT=/home/jules/.Eterm/themes/Eterm
> COLORFGBG=15;default;0
> WINDOWID=50331650
> COLORTERM=Eterm-pixmap
> PWD=/home/jules/debian/packaging
> jules@pear% dpkg-source -b marble3d-0.0.1 marble3d_0.0.1.orig.tar.gz
> 5:57PM
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> dpkg-source: building marble3d using existing marble3d_0.0.1.orig.tar.gz
>
> gunzip: stdout: Broken pipe
> dpkg-source: failure: gzip gave error exit status 1
> -------------
>
> Number 2:
> -------------
> jules@pear% pwd
> 5:57PM
> /home/jules/debian/packaging
> jules@pear% env
> 5:58PM
> HOSTNAME=pear
> USER=jules
> MACHTYPE=i686
> DISPLAY=:1.0
> LOGNAME=jules
> SHLVL=3
> SHELL=/usr/bin/zsh
> HOSTTYPE=i486
> OSTYPE=linux
> HOME=/home/jules
> TERM=xterm
> PATH=/usr/local/bin:/usr/bin:/bin:/usr/bin/X11:/usr/games
> _=/usr/bin/env
> SESSION_MANAGER=local/pear:/tmp/.ICE-unix/1620,tcp/pear:2109
> EVERSION=0.15.0
> EROOT=/usr/share/enlightenment
> EPID=1652
> ETHEME=
> PWD=/home/jules
> ETERM_THEME_ROOT=/home/jules/.Eterm/themes/Eterm
> COLORFGBG=15;default;0
> WINDOWID=83886082
> COLORTERM=Eterm-pixmap
> jules@pear% dpkg-source -b marble3d-0.0.1 marble3d_0.0.1.orig.tar.gz
> 5:58PM
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> no utmp entry available, using value of LOGNAME ("jules") at
> /usr/lib/dpkg/controllib.pl line 40.
> dpkg-source: building marble3d using existing marble3d_0.0.1.orig.tar.gz
> dpkg-source: building marble3d in marble3d_0.0.1-1.diff.gz
> dpkg-source: building marble3d in marble3d_0.0.1-1.dsc
> ------------
>
> The only difference between these two Eterms is that one has been around
> longer - it's been up since before my windowmanager has, and has init as
> its parent. That is the first one, the one which breaks. The second
> Eterm, which was launched by my window-manager, is fine.
>
> There is something very odd going on here.
>
> Inserting another level of subshell, by using
>
> zsh -c 'dpkg-source...'
>
> makes no difference to either Eterm. Neither does using bash -c.
>
> There are also some signal handling oddities around - on occasion, I
> haven't been able to suspend things. I can't reproduce that just now.
>
> It all points to libc weirdness for me..
>
> Jules
>
> /----------------+-------------------------------+---------------------\
> | Jelibean aka | jules@jellybean.co.uk | 6 Evelyn Rd |
> | Jules aka | jules@debian.org | Richmond, Surrey |
> | Julian Bean | jmlb2@hermes.cam.ac.uk | TW9 2TF *UK* |
> +----------------+-------------------------------+---------------------+
> | War doesn't demonstrate who's right... just who's left. |
> | When privacy is outlawed... only the outlaws have privacy. |
> \----------------------------------------------------------------------/
>
>
>
Reply to: