
On Wed, 2005-08-31 at 09:16 +0200, Peter Van Eynde wrote:
On Tuesday 30 August 2005 22:36, R. Mattes wrote:
Hello Peter,
just read your blog post about sbcl builds and tried to build sbcl from sources yet another time - here are the results:
Thanks very much for trying this.
The problem seems to be some interaction with your build environment. We first build a stage1 lisp, then we clean the system and then we build the final lisp. This we do to get some test of the viability of the new lisp :-S.
It seems that the protection of the stage1 lisp against the clean script is not sufficient. Are you running it as root?
Hmm, i was using 'pbuilder' to build in a chrooted environment just to make shure that the package is really build in a clean environment. My pbuilder configuration has the following entry: BUILDUSERID=1234 I _thought_ that meant that the build is a non-root one. Anyway, i just tried a 'fakeroot debian/rules binary' with my own userid but, alas, with the same result.
//build finished: Tue Aug 30 20:29:21 UTC 2005 #CFLAGS="-DSBCL_HOME=`pwd`/stage1/ -O2" GNUMAKE=make ./make.sh '/usr/bin/clisp -norc -q -M /usr/lib/clisp/full/lispinit-clean.mem' mkdir stage1 mv output/sbcl.core src/runtime/sbcl stage1/
So the lisp is in stage1
chmod 000 stage1 protect it
sh clean.sh || true clean the build directory
make[1]: Entering directory `/tmp/buildd/sbcl-0.9.3.72/doc/manual' ... chmod 700 stage1 re-enable stage1
And it must _still_ be there, otherwise 'chmod' would complain ...
# rebuild again with new version CC=gcc-3.4 CFLAGS="-DSBCL_HOME=/usr/lib/sbcl/ -O2" GNUMAKE=make ./make.sh "`pwd`/stage1/sbcl --core `pwd`/stage1/sbcl.core --sysinit /dev/null --userinit /dev/null --disable-debugger" ... make-host-1.sh: line 29: /tmp/buildd/sbcl-0.9.3.72/stage1/sbcl: No such file or directory
And it is gone?
Experimenting it seem this is only done if you run the build as root (even with fakeroot), running it as a mere user works. As the buildd's also seem to run the build as a mere user this problem has never shown itself until now.
Well, pbuild seems to use fakeroot ... I'll investigate a bit more. Cheers RalfD
Groetjes, Peter