[BusyBox] dpkg usage: invalid ar header

Jared Rhine jared at wordzoo.com
Sat Aug 9 03:32:36 UTC 2003


[Glenn == bug1 at optushome.com.au on Sat, 9 Aug 2003 21:59:23 +1000]

Jared> I don't seem to be able to use dpkg.

Glenn> Fix is in CVS...

Jared> But no joy.

Glenn> Works for me.

Heh, definitely interesting.  I've got the same md5sum result on the
hello deb, so we're working from the same source file.  Hmmm, where to
go from here...

Below is the bottom of my strace output[1], though I don't know if
that's helpful at all.

Also, I've included my .config[2]; if you want to try building a copy
using that config, feel free.  If you send me yours, I'll build a copy
and check as well.

What's left?  Running different busybox source trees?  (I definitely
see your change to archive_handle->offset and the lseek in
get_header_ar.c in my tree; could any other recent changes be
affecting this?)  Chipset?  Kernel bugs?  libc bugs?  uh, really
scratching my head here...

I'd insert some debug statements or something, but I'd have to learn a
fair bit about gzip, ar, and the "archival" busybox code to know what
I'm looking for.  Whatever assistance you can put into an issue that
"works for you" is greatly appreciated.

If anyone anywhere can jump in with a data point either way on this
issue, that'd be appreciated.

Ok, I've got a lead.  I'm sort of cross-compiling; compiling on my
celeron server and moving it onto a VIA EPIA 6000 distribution.  The
freshly-built busybox binary will install on my celeron box, but
neither the EPIA nor VMware.  I'll poke around a while on this.  If
you have any ideas, please pass them along.

-- begin [1] --

...
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40150000
read(3, "Package: libc6\nStatus: install o"..., 4096) = 1918
read(3, "", 4096)                       = 0
close(3)                                = 0
munmap(0x40150000, 4096)                = 0
open("hello_2.1.1-1_i386.deb", O_RDONLY|O_LARGEFILE) = 3
read(3, "!<arch>", 7)                   = 7
read(3, "\ndebian-binary   1034449734  0  "..., 60) = 60
read(3, "\n", 1)                        = 1
_llseek(3, 4, [72], SEEK_CUR)           = 0
_llseek(3, 72, [72], SEEK_SET)          = 0
read(3, "control.tar.gz  1034449734  0   "..., 60) = 60
read(3, "\37\213", 2)                   = 2
read(3, "\10\0\0\0\0\0\0\3", 8)         = 8
brk(0)                                  = 0x81cf000
brk(0x81d7000)                          = 0x81d7000
brk(0)                                  = 0x81d7000
brk(0x81df000)                          = 0x81df000
read(3, "\355\226Qo\3230\20\307\373\354Oq\210\207m\322\222&Y\332"..., 32760) = 32760
brk(0)                                  = 0x81df000
brk(0x81e0000)                          = 0x81e0000
_llseek(3, 780, [780], SEEK_SET)        = 0
read(3, "data.tar.gz     1034449734  0   "..., 60) = 60
_llseek(3, 47059, [47899], SEEK_CUR)    = 0
_llseek(3, 47899, [47899], SEEK_SET)    = 0
read(3, "\n", 60)                       = 1
close(3)                                = 0
fstat64(1, {st_mode=S_IFCHR|0600, st_rdev=makedev(3, 0), ...}) = 0
ioctl(1, SNDCTL_TMR_TIMEBASE, {B38400 opost isig icanon echo ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40150000
write(1, "Unpacking hello (from hello_2.1."..., 50Unpacking hello (from hello_2.1.1-1_i386.deb) ...
) = 50
open("hello_2.1.1-1_i386.deb", O_RDONLY|O_LARGEFILE) = 3
read(3, "!<arch>", 7)                   = 7
read(3, "\ndebian-binary   1034449734  0  "..., 60) = 60
read(3, "\n", 1)                        = 1
_llseek(3, 4, [72], SEEK_CUR)           = 0
_llseek(3, 72, [72], SEEK_SET)          = 0
read(3, "control.tar.gz  1034449734  0   "..., 60) = 60
read(3, "\37\213", 2)                   = 2
read(3, "\10\0\0\0\0\0\0\3", 8)         = 8
brk(0)                                  = 0x81e0000
brk(0x81e7000)                          = 0x81e7000
write(2, "dpkg: ", 6dpkg: )                   = 6
write(2, "crc error", 9crc error)                = 9
write(2, "\n", 1
)                       = 1
munmap(0x40150000, 4096)                = 0
semget(1, 4096, IPC_EXCL|IPC_NOWAIT|0x40149040|0) = -1 ENOSYS (Function not implemented)
_exit(1)                                = ?

-- end [1] --

-- begin [2] --

#
# Automatically generated make config: don't edit
#
HAVE_DOT_CONFIG=y

#
# General Configuration
#
# CONFIG_FEATURE_BUFFERS_USE_MALLOC is not set
# CONFIG_FEATURE_BUFFERS_GO_ON_STACK is not set
CONFIG_FEATURE_BUFFERS_GO_IN_BSS=y
CONFIG_FEATURE_VERBOSE_USAGE=y
# CONFIG_FEATURE_INSTALLER is not set
# CONFIG_LOCALE_SUPPORT is not set
CONFIG_FEATURE_DEVFS=y
# CONFIG_FEATURE_DEVPTS is not set
# CONFIG_FEATURE_CLEAN_UP is not set
# CONFIG_FEATURE_SUID is not set
# CONFIG_SELINUX is not set

#
# Build Options
#
# CONFIG_STATIC is not set
CONFIG_LFS=y
# USING_CROSS_COMPILER is not set
EXTRA_CFLAGS_OPTIONS=""

#
# Installation Options
#
# CONFIG_INSTALL_NO_USR is not set
PREFIX="./_install"

#
# Archival Utilities
#
CONFIG_AR=y
CONFIG_FEATURE_AR_LONG_FILENAMES=y
CONFIG_BUNZIP2=y
CONFIG_CPIO=y
CONFIG_DPKG=y
CONFIG_DPKG_DEB=y
# CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY is not set
CONFIG_FEATURE_DEB_TAR_GZ=y
CONFIG_FEATURE_DEB_TAR_BZ2=y
CONFIG_GUNZIP=y
CONFIG_FEATURE_GUNZIP_UNCOMPRESS=y
CONFIG_GZIP=y
CONFIG_RPM2CPIO=y
CONFIG_RPM=y
CONFIG_TAR=y
CONFIG_FEATURE_TAR_CREATE=y
CONFIG_FEATURE_TAR_BZIP2=y
CONFIG_FEATURE_TAR_EXCLUDE=y
CONFIG_FEATURE_TAR_GZIP=y
CONFIG_FEATURE_TAR_OLDGNU_COMPATABILITY=y
CONFIG_FEATURE_TAR_GNU_EXTENSIONS=y
CONFIG_FEATURE_UNARCHIVE_TAPE=y
CONFIG_UNCOMPRESS=y
CONFIG_UNZIP=y

#
# Coreutils
#
CONFIG_BASENAME=y
CONFIG_CAL=y
CONFIG_CAT=y
CONFIG_CHGRP=y
CONFIG_CHMOD=y
CONFIG_CHOWN=y
CONFIG_CHROOT=y
CONFIG_CMP=y
CONFIG_CP=y
CONFIG_CUT=y
CONFIG_DATE=y

#
# date (forced enabled for use with watch)
#
CONFIG_FEATURE_DATE_ISOFMT=y
CONFIG_DD=y
CONFIG_DF=y
CONFIG_DIRNAME=y
CONFIG_DOS2UNIX=y
CONFIG_UNIX2DOS=y
CONFIG_DU=y
CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K=y
CONFIG_ECHO=y
CONFIG_FEATURE_FANCY_ECHO=y
CONFIG_ENV=y
CONFIG_EXPR=y
CONFIG_FALSE=y
CONFIG_FOLD=y
CONFIG_HEAD=y
CONFIG_FEATURE_FANCY_HEAD=y
CONFIG_HOSTID=y
CONFIG_ID=y
CONFIG_LENGTH=y
CONFIG_LN=y
CONFIG_LOGNAME=y
CONFIG_LS=y
CONFIG_FEATURE_LS_FILETYPES=y
CONFIG_FEATURE_LS_FOLLOWLINKS=y
CONFIG_FEATURE_LS_RECURSIVE=y
CONFIG_FEATURE_LS_SORTFILES=y
CONFIG_FEATURE_LS_TIMESTAMPS=y
CONFIG_FEATURE_LS_USERNAME=y
CONFIG_FEATURE_LS_COLOR=y
CONFIG_MD5SUM=y
CONFIG_MKDIR=y
CONFIG_MKFIFO=y
CONFIG_MKNOD=y
CONFIG_MV=y
CONFIG_OD=y
CONFIG_PRINTF=y
CONFIG_PWD=y
CONFIG_REALPATH=y
CONFIG_RM=y
CONFIG_RMDIR=y
CONFIG_SHA1SUM=y
CONFIG_FEATURE_SHA1SUM_CHECK=y
CONFIG_SLEEP=y
CONFIG_FEATURE_FANCY_SLEEP=y
CONFIG_SORT=y
CONFIG_FEATURE_SORT_REVERSE=y
CONFIG_FEATURE_SORT_UNIQUE=y
CONFIG_STTY=y
CONFIG_SYNC=y
CONFIG_TAIL=y
CONFIG_FEATURE_FANCY_TAIL=y
CONFIG_TEE=y
# CONFIG_FEATURE_TEE_USE_BLOCK_IO is not set
CONFIG_TEST=y

#
# test (forced enabled for use with shell)
#
CONFIG_TOUCH=y
CONFIG_TR=y
CONFIG_TRUE=y
CONFIG_TTY=y
CONFIG_UNAME=y
CONFIG_UNIQ=y
CONFIG_USLEEP=y
CONFIG_UUDECODE=y
CONFIG_UUENCODE=y
CONFIG_WATCH=y
CONFIG_WC=y
CONFIG_WHO=y
CONFIG_WHOAMI=y
CONFIG_YES=y

#
# Common options for cp and mv
#
CONFIG_FEATURE_PRESERVE_HARDLINKS=y

#
# Common options for ls and more
#
CONFIG_FEATURE_AUTOWIDTH=y

#
# Common options for df, du, ls
#
CONFIG_FEATURE_HUMAN_READABLE=y

#
# Console Utilities
#
CONFIG_CHVT=y
CONFIG_CLEAR=y
CONFIG_DEALLOCVT=y
CONFIG_DUMPKMAP=y
CONFIG_LOADACM=y
CONFIG_LOADFONT=y
CONFIG_LOADKMAP=y
CONFIG_OPENVT=y
CONFIG_RESET=y
CONFIG_SETKEYCODES=y

#
# Debian Utilities
#
CONFIG_MKTEMP=y
CONFIG_READLINK=y
CONFIG_RUN_PARTS=y
CONFIG_START_STOP_DAEMON=y
CONFIG_WHICH=y

#
# Editors
#
CONFIG_AWK=y
# CONFIG_FEATURE_AWK_MATH is not set
CONFIG_PATCH=y
CONFIG_SED=y
CONFIG_FEATURE_SED_EMBEDED_NEWLINE=y
CONFIG_VI=y
CONFIG_FEATURE_VI_COLON=y
CONFIG_FEATURE_VI_YANKMARK=y
CONFIG_FEATURE_VI_SEARCH=y
CONFIG_FEATURE_VI_USE_SIGNALS=y
CONFIG_FEATURE_VI_DOT_CMD=y
CONFIG_FEATURE_VI_READONLY=y
CONFIG_FEATURE_VI_SETOPTS=y
CONFIG_FEATURE_VI_SET=y
CONFIG_FEATURE_VI_WIN_RESIZE=y
CONFIG_FEATURE_VI_OPTIMIZE_CURSOR=y

#
# Finding Utilities
#
CONFIG_FIND=y
CONFIG_FEATURE_FIND_MTIME=y
CONFIG_FEATURE_FIND_PERM=y
CONFIG_FEATURE_FIND_TYPE=y
CONFIG_FEATURE_FIND_XDEV=y
CONFIG_FEATURE_FIND_NEWER=y
CONFIG_FEATURE_FIND_INUM=y
CONFIG_GREP=y
CONFIG_FEATURE_GREP_EGREP_ALIAS=y
CONFIG_FEATURE_GREP_FGREP_ALIAS=y
CONFIG_FEATURE_GREP_CONTEXT=y
CONFIG_XARGS=y

#
# Init Utilities
#
CONFIG_INIT=y
CONFIG_FEATURE_USE_INITTAB=y
CONFIG_FEATURE_INITRD=y
# CONFIG_FEATURE_INIT_COREDUMPS is not set
# CONFIG_FEATURE_EXTRA_QUIET is not set
CONFIG_HALT=y
CONFIG_POWEROFF=y
CONFIG_REBOOT=y
CONFIG_MESG=y

#
# Login/Password Management Utilities
#
# CONFIG_USE_BB_PWD_GRP is not set
CONFIG_ADDGROUP=y
CONFIG_DELGROUP=y
CONFIG_ADDUSER=y
CONFIG_DELUSER=y
CONFIG_GETTY=y
CONFIG_LOGIN=y
CONFIG_FEATURE_SECURETTY=y
CONFIG_PASSWD=y
CONFIG_SU=y
CONFIG_SULOGIN=y
CONFIG_VLOCK=y

#
# Common options for adduser, deluser, login, su
#
CONFIG_FEATURE_SHADOWPASSWDS=y

#
# Miscellaneous Utilities
#
# CONFIG_ADJTIMEX is not set
CONFIG_CROND=y
# CONFIG_FEATURE_CROND_CALL_SENDMAIL is not set
CONFIG_CRONTAB=y
CONFIG_DC=y
# CONFIG_DUTMP is not set
# CONFIG_HDPARM is not set
# CONFIG_MAKEDEVS is not set
# CONFIG_MT is not set
CONFIG_STRINGS=y
CONFIG_TIME=y
# CONFIG_WATCHDOG is not set

#
# Linux Module Utilities
#
# CONFIG_INSMOD is not set
# CONFIG_LSMOD is not set
# CONFIG_MODPROBE is not set
# CONFIG_RMMOD is not set

#
# Networking Utilities
#
# CONFIG_FEATURE_IPV6 is not set
# CONFIG_ARPING is not set
CONFIG_FTPGET=y
CONFIG_FTPPUT=y
CONFIG_HOSTNAME=y
# CONFIG_HTTPD is not set
CONFIG_IFCONFIG=y
CONFIG_FEATURE_IFCONFIG_STATUS=y
# CONFIG_FEATURE_IFCONFIG_SLIP is not set
# CONFIG_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ is not set
CONFIG_FEATURE_IFCONFIG_HW=y
CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS=y
CONFIG_IFUPDOWN=y
CONFIG_FEATURE_IFUPDOWN_IP=y
CONFIG_FEATURE_IFUPDOWN_IPV4=y
# CONFIG_FEATURE_IFUPDOWN_IPV6 is not set
# CONFIG_FEATURE_IFUPDOWN_IPX is not set
# CONFIG_FEATURE_IFUPDOWN_MAPPING is not set
# CONFIG_INETD is not set
CONFIG_IP=y
CONFIG_FEATURE_IP_ADDRESS=y
CONFIG_FEATURE_IP_LINK=y
CONFIG_FEATURE_IP_ROUTE=y
CONFIG_FEATURE_IP_TUNNEL=y
CONFIG_IPCALC=y
CONFIG_FEATURE_IPCALC_FANCY=y
# CONFIG_IPADDR is not set
# CONFIG_IPLINK is not set
# CONFIG_IPROUTE is not set
# CONFIG_IPTUNNEL is not set
# CONFIG_NAMEIF is not set
CONFIG_NC=y
# CONFIG_NETSTAT is not set
CONFIG_NSLOOKUP=y
CONFIG_PING=y
CONFIG_FEATURE_FANCY_PING=y
CONFIG_ROUTE=y
CONFIG_TELNET=y
CONFIG_FEATURE_TELNET_TTYPE=y
CONFIG_TELNETD=y
# CONFIG_FEATURE_TELNETD_INETD is not set
CONFIG_TFTP=y
CONFIG_FEATURE_TFTP_GET=y
CONFIG_FEATURE_TFTP_PUT=y
CONFIG_FEATURE_TFTP_BLOCKSIZE=y
CONFIG_FEATURE_TFTP_DEBUG=y
CONFIG_TRACEROUTE=y
CONFIG_FEATURE_TRACEROUTE_VERBOSE=y
# CONFIG_VCONFIG is not set
CONFIG_WGET=y
CONFIG_FEATURE_WGET_STATUSBAR=y
CONFIG_FEATURE_WGET_AUTHENTICATION=y

#
# udhcp Server/Client
#
# CONFIG_UDHCPD is not set
CONFIG_UDHCPC=y
CONFIG_FEATURE_UDHCP_SYSLOG=y
# CONFIG_FEATURE_UDHCP_DEBUG is not set

#
# Process Utilities
#
CONFIG_FREE=y
CONFIG_KILL=y
CONFIG_KILLALL=y
CONFIG_PIDOF=y
CONFIG_PS=y
CONFIG_RENICE=y
CONFIG_TOP=y
FEATURE_CPU_USAGE_PERCENTAGE=y
CONFIG_UPTIME=y

#
# Another Bourne-like Shell
#
CONFIG_FEATURE_SH_IS_ASH=y
# CONFIG_FEATURE_SH_IS_HUSH is not set
# CONFIG_FEATURE_SH_IS_LASH is not set
# CONFIG_FEATURE_SH_IS_MSH is not set
# CONFIG_FEATURE_SH_IS_NONE is not set
CONFIG_ASH=y

#
# ash (forced enabled as default shell)
#

#
# Ash Shell Options
#
CONFIG_ASH_JOB_CONTROL=y
CONFIG_ASH_ALIAS=y
CONFIG_ASH_MATH_SUPPORT=y
# CONFIG_ASH_GETOPTS is not set
# CONFIG_ASH_CMDCMD is not set
# CONFIG_ASH_MAIL is not set
CONFIG_ASH_OPTIMIZE_FOR_SIZE=y
# CONFIG_HUSH is not set
# CONFIG_LASH is not set
# CONFIG_MSH is not set

#
# Bourne Shell Options
#
CONFIG_FEATURE_COMMAND_EDITING=y
# CONFIG_FEATURE_COMMAND_SAVEHISTORY is not set
CONFIG_FEATURE_COMMAND_TAB_COMPLETION=y
# CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION is not set
CONFIG_FEATURE_COMMAND_HISTORY=100
# CONFIG_FEATURE_SH_STANDALONE_SHELL is not set
# CONFIG_FEATURE_SH_APPLETS_ALWAYS_WIN is not set
CONFIG_FEATURE_SH_FANCY_PROMPT=y
# CONFIG_FEATURE_SH_EXTRA_QUIET is not set

#
# System Logging Utilities
#
CONFIG_SYSLOGD=y
# CONFIG_FEATURE_REMOTE_LOG is not set
CONFIG_FEATURE_IPC_SYSLOG=y
CONFIG_LOGREAD=y
CONFIG_KLOGD=y
CONFIG_LOGGER=y

#
# Linux System Utilities
#
CONFIG_DMESG=y
CONFIG_FBSET=y
CONFIG_FEATURE_FBSET_FANCY=y
CONFIG_FEATURE_FBSET_READMODE=y
# CONFIG_FDFLUSH is not set
# CONFIG_FDFORMAT is not set
CONFIG_FDISK=y
CONFIG_FEATURE_FDISK_WRITABLE=y
# CONFIG_FEATURE_AIX_LABEL is not set
# CONFIG_FEATURE_SGI_LABEL is not set
# CONFIG_FEATURE_SUN_LABEL is not set
# CONFIG_FEATURE_OSF_LABEL is not set
CONFIG_FEATURE_FDISK_ADVANCED=y
CONFIG_FREERAMDISK=y
# CONFIG_FSCK_MINIX is not set
# CONFIG_MKFS_MINIX is not set
CONFIG_GETOPT=y
CONFIG_HEXDUMP=y
CONFIG_HWCLOCK=y
CONFIG_FEATURE_HWCLOCK_LONGOPTIONS=y
CONFIG_LOSETUP=y
CONFIG_MKSWAP=y
CONFIG_MORE=y
CONFIG_FEATURE_USE_TERMIOS=y
CONFIG_PIVOT_ROOT=y
# CONFIG_RDATE is not set
CONFIG_SWAPONOFF=y
CONFIG_MOUNT=y
CONFIG_NFSMOUNT=y
CONFIG_UMOUNT=y
CONFIG_FEATURE_MOUNT_FORCE=y

#
# Common options for mount/umount
#
CONFIG_FEATURE_MOUNT_LOOP=y
# CONFIG_FEATURE_MTAB_SUPPORT is not set

#
# Debugging Options
#
# CONFIG_DEBUG is not set

-- end [2] --

-- jared at wordzoo.com

"Truth is a great flirt." -- Franz Liszt



More information about the busybox mailing list