Hi, dpkg in Debian woody (3.0) is broken by recent linux kernels; due to the following command changing behavior (mmap of zero-byte length):
addr=mmap(NULL, 0, PROT_READ, MAP_SHARED, fd, 0); These bugs are caused by mmap changing behavior; it used to return NULL when given a length of 0. However, it now returns -1, and gives back an errno=EINVAL. This triggers problems in Debian installation. The workaround is to give some content to the files: /var/lib/status /var/lib/available $ uname -r 2.6.14-rc3dancer-gedb4a353 $ ./a.c b a.c: In function 'main': a.c:26: warning: comparison between pointer and integer mmap: Invalid argument $ ls -l b -rw-r--r-- 1 dancer dancer 0 2005-10-09 22:29 b $ uname -r 2.2.26 $ cat a.c /*BINFMTC: * */ #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <errno.h> #include <fcntl.h> #include <sys/mman.h> int main(int argc, char **argv) { int fd; void*addr; if (argc < 2) { fprintf(stderr, "Filename required\n"); return 1; } if((fd=open(argv[1], O_RDONLY))==-1) { perror("open"); return 1; } addr=mmap(NULL, 0, PROT_READ, MAP_SHARED, fd, 0); if (addr==-1) { perror("mmap"); return 1; } printf ("%p\n", addr); if(close(fd)==-1) { perror("close"); return 1; } return 0; } $ ./a.out b (nil) regards, junichi -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]