[cl-debian] SBCL FTBFS

Hello Peter, just read your blog post about sbcl builds and tried to build sbcl from sources yet another time - here are the results: ; compilation finished in 0:00:20 * true make[1]: Leaving directory `/tmp/buildd/sbcl-0.9.3.72/contrib/sb-sprof' real 4m18.128s user 3m27.013s sys 0m11.394s The build seems to have finished successfully, including 14 (out of 14) contributed modules. If you would like to run more extensive tests on the new SBCL, you can try: cd tests && sh ./run-tests.sh (All tests should pass on x86/Linux, x86/FreeBSD4, and ppc/Darwin. On other platforms some failures are currently expected; patches welcome as always.) To build documentation: cd doc/manual && make To install SBCL (more information in INSTALL): sh install.sh //build started: Tue Aug 30 19:11:10 UTC 2005 //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/ chmod 000 stage1 sh clean.sh || true make[1]: Entering directory `/tmp/buildd/sbcl-0.9.3.72/doc/manual' rm -f *~ *.bak *.orig \#*\# .\#* texput.log *.fasl rm -rf sbcl asdf "docstrings/" rm -f contrib-docs.texi-temp rm -f package-locks.texi-temp rm -f html-stamp tempfiles-stamp rm -f asdf.aux asdf.cp asdf.cps asdf.fn asdf.fns asdf.ky asdf.log asdf.pg asdf.toc asdf.tp asdf.tps asdf.vr asdf.vrs sbcl.aux sbcl.cp sbcl.cps sbcl.fn sbcl.fns sbcl.ky sbcl.log sbcl.pg sbcl.toc sbcl.tp sbcl.tps sbcl.vr sbcl.vrs rm -f sbcl.info sbcl.info-* rm -f asdf.cp asdf.info asdf.pdf asdf.fn asdf.ps asdf.tp asdf.vr rm -f sbcl.cp sbcl.info sbcl.pdf sbcl.fn sbcl.ps sbcl.tp sbcl.vr make[1]: Leaving directory `/tmp/buildd/sbcl-0.9.3.72/doc/manual' chmod 700 stage1 # 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" //starting build: Tue Aug 30 20:29:24 UTC 2005 //SBCL_XC_HOST="/tmp/buildd/sbcl-0.9.3.72/stage1/sbcl --core /tmp/buildd/sbcl-0.9.3.72/stage1/sbcl.core --sysinit /dev/null --userinit /dev/null --disable-debugger" //entering make-config.sh //ensuring the existence of output/ directory //initializing /tmp/buildd/sbcl-0.9.3.72/local-target-features.lisp-expr //guessing default target CPU architecture from host architecture //setting up CPU-architecture-dependent information sbcl_arch="ppc" //setting up symlink src/compiler/target //setting up symlink src/assembly/target //setting up symlink src/compiler/assembly //setting up OS-dependent information make[1]: Entering directory `/tmp/buildd/sbcl-0.9.3.72/tools-for-build' gcc-3.4 -DSBCL_HOME=/usr/lib/sbcl/ -O2 -I../src/runtime where-is-mcontext.c -o where-is-mcontext make[1]: Leaving directory `/tmp/buildd/sbcl-0.9.3.72/tools-for-build' //finishing /tmp/buildd/sbcl-0.9.3.72/local-target-features.lisp-expr //entering make-host-1.sh //building cross-compiler, and doing first genesis make-host-1.sh: line 29: /tmp/buildd/sbcl-0.9.3.72/stage1/sbcl: No such file or directory real 0m0.164s user 0m0.005s sys 0m0.009s make: *** [build-arch-stamp] Error 1 pbuilder: Failed autobuilding of package -> Aborting with an error -> unmounting dev/pts filesystem -> unmounting proc filesystem -> cleaning the build env -> removing directory /var/cache/pbuilder/build//9356 and its subdirectories ralf@hobbes:/LISP/DEBS/sbcl-0.9.3.72$ Any idea what's going on? This is a build with the following options pdebuild --configfile ~ralf/.pbuilderrc \ --buildsourceroot fakeroot \ --pbuilderroot sudo \ --buildresult /LISP/DEBS \ --auto-debsign Cheers Ralf Mattes

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?
//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/
chmod 000 stage1
So the lisp is in 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 # 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. Groetjes, Peter -- signature -at- pvaneynd.mailworks.org http://www.livejournal.com/users/pvaneynd/ "God, root, what is difference?" Pitr | "God is more forgiving." Dave Aronson|

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

On Wed, 2005-08-31 at 09:16 +0200, Peter Van Eynde wrote:
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.
Ok, even a plain' ol' "fakeroot debian/rules binary" fails. I solved it the brutal way and added some excludes in clean.sh and the package does build fine now. Wow, a new sbcl after all! Cheers RalfD
Groetjes, Peter
participants (3)
-
Peter Van Eynde
-
R. Mattes
-
R. Mattes