Re: internal error in dselect from dpkg 1.4.0.23.2
I reported this as #18540, and provided a patch that would at least
let the user report the real problem (a bad package). Here's my report:
The message was printed at line 54 of
/usr/lib/dpkg/methods/disk/install, while installing targets of
predependencies. It was caused by an invalid control record in the
slang0.99.38 package: it includes no "File" field. Observe:
Script started on Mon Feb 23 21:30:26 1998
vanzandt:/cdrom/hamm/hamm/binary-i386/libs$ dpkg -I
slang0.99.38_0.99.38-2.16.deb
new debian package, version 2.0.
size 83090 bytes: control archive= 724 bytes.
766 bytes, 18 lines control
102 bytes, 5 lines * postinst #!/bin/sh
31 bytes, 1 lines shlibs
Package: slang0.99.38
Version: 0.99.38-2.16
Architecture: i386
Depends: libc6
Conflicts: slang0.99.34 (<< 0.99.38-2.3)
Installed-Size: 173
Maintainer: Chris Fearnley <cjf@netaxs.com>
Source: slang
Description: The S-Lang programming library, shared library for use
with libc6
...
vanzandt:/cdrom/hamm/hamm/binary-i386/libs$ exit
Script done on Mon Feb 23 21:30:35 1998
I suggest this change to /usr/lib/dpkg/methods/disk/install, to print
the package name as well:
--- methods/disk.install-orig Mon Feb 23 21:52:19 1998
+++ methods/disk.install Mon Feb 23 21:52:55 1998
@@ -51,7 +51,7 @@
@msdosfilename= split(/ /,$_) if s/^MSDOS-Filename: //i
;
}
length($package) || die "internal error - no package";
- @filename || die "internal error - no filename";
+ @filename || die "internal error - no filename in control record for $package";
@filename==@msdosfilename || !@filename ||
!@msdosfilename ||
die "internal error - mismatch >@filename<
>@msdosfilen
ame<";
@invoke=(); $|=1;
>Resent-Cc: recipient.list.not.shown:;@
>X-Envelope-Sender: lapeyre@physics.Arizona.EDU
>Date: Mon, 10 Aug 1998 15:02:28 -0700 (MST)
>From: John Lapeyre <lapeyre@physics.Arizona.EDU>
>Cc: "dpkg-maint@chiark.greenend.org.uk" <dpkg-maint@chiark.greenend.org.uk>,
> debian-dpkg@lists.debian.org, debian-devel@lists.debian.org
>Content-Type: TEXT/PLAIN; charset=US-ASCII
>Resent-From: debian-devel@lists.debian.org
>X-Mailing-List: <debian-devel@lists.debian.org> archive/latest/12028
>X-Loop: debian-devel@lists.debian.org
>Precedence: list
>Resent-Sender: debian-devel-request@lists.debian.org
>
>On Mon, 10 Aug 1998, Ralf G. R. Bergs wrote:
>
>rabe>Hi Ian and/or Klee,
>rabe>
>rabe>I'm a long-time Slackware user (six years, I think), and I've just started
>rabe>using Debian 2.0 because I need a distribution that is glibc2-compatible.
>rabe>
>rabe>However my first experience has not exactly been a pleasure. It took me a long
>rabe>time to select the packages I want installed, and when I was ready doing my
>rabe>selections dselect bailed out with the following error message:
>rabe>
>rabe> internal error - no filename at -e line 12, <P> chunk 15.
>rabe> installations script returned error exit status 1.
>rabe>
>rabe>Any idea what could be going wrong?
>
> This may be a problem that I've seen a few times. Did you scan
>the package directories to create a package list, or did you use the
>Packages files from the distribution ?
> I found that this error occured when I scanned for packages, but
>not when I used the pre-built packages list. Try downloadling theses
>files and then try to get them into a place where dselect can see them.
>
> John
>
>
>
>
>John Lapeyre <lapeyre@physics.arizona.edu>
>Tucson,AZ http://www.physics.arizona.edu/~lapeyre
>
>
>--
>To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
>with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
>
Reply to: