On Sat, 2008-09-13 at 12:54 +0200, Michael Banck wrote: > On Sat, Sep 13, 2008 at 10:43:40AM +0200, Florian Weimer wrote: > > This is probably a FAQ, and I guess I knew the answer at one point. > > What are the requirements for /proc and buildds? Can packages assume > > that /proc/self/stat exist in a buildd environment? > > > > The following is from mundy.debian.org, from a testing-security build: > > > > | Setting up gij-4.3 (4.3.1-9) ... > > | GC Warning: Couldn't read /proc/stat > > | Couldn't read /proc/self/stat > > | /var/lib/dpkg/info/gij-4.3.postinst: line 29: 10104 Aborted gcj-dbtool-4.3 -n /var/lib/gcj-4.3/classmap.db > > | dpkg: error processing gij-4.3 (--configure): > > | subprocess post-installation script returned error exit status 2 > > > > I don't know yet if the crash is related to the lack of /proc. (The > > package builds fine on caballero.debian.org, the sid buildd.) > > Can't do much about it when this is during Build-Depends installation I > guess, except keeping the Build-Depends sane. In this case, maybe the > gij packages could fail more graciously if /proc is not available. Depending on the architecture, this and several other files in /proc may be required by the Boehm garbage collector which is part of gcj's implementation of the Java virtual machine. The quoted message comes from this: ptr_t GC_linux_stack_base(void) { /* We read the stack base value from /proc/self/stat. We do this */ /* using direct I/O system calls in order to avoid calling malloc */ /* in case REDIRECT_MALLOC is defined. */ ... f = open("/proc/self/stat", O_RDONLY); if (f < 0 || STAT_READ(f, stat_buf, STAT_BUF_SIZE) < 2 * STAT_SKIP) { ABORT("Couldn't read /proc/self/stat"); } Ben.
Attachment:
signature.asc
Description: This is a digitally signed message part