David (cc'ing larceny-users)-
Post by David RushPost by Jed DavisPost by David RushI don't know what it is with my Debian systems, but I seem to have
endless problems building Larceny on them. My latest round has
occurred with the 0.961 source code tarball. I can't use the binary
release because of libc incompatibility with my Debian Etch release,
Let's see... Etch seems to have glibc 2.3.6, according to
...
whether that's the only issue preventing use on older systems.
Not to whine or anything, but Etch was only promoted to Debian stable
on 17 Feb 2008. I do realize that Debian doesn't have the world's
fastest release cycle, but four months seems pretty recent. But
rebuilding the runtime to work on the current stable Debian wasn't a
problem. The part I really don't understand is why everything except
heap-building seems to work correctly in the build process.
I was not aware of the dependency on glibc 2.4 that the newer gcc
seems to be introducing. I will investigate Jed's suggestion of using
-fno-stack-protector to try to remove that dependency on glibc 2.4
(Ticket #546).
I tried to replicate your problem building the heap, but that step of
the build process worked on the copy of Debian Etch that I tried it
out on. I have included a transcript of the build in this email, to
make it obvious which versions of the Larceny source, Mzscheme
runtime, and the setup flags I used in the build, and also to make it
clear which files are being generated by the build. (The kind of
symptoms that you described in his email can be caused by build
artifacts from one Scheme system corrupting a build attempt under a
different scheme system.)
If you continue to have issues with your build when following the
steps transcribed below, I can post my VMware image for this Etch-
based build online, so that you could compare its configuration with
your own machine's configuration and figure out which is the
significant difference here.
-Felix
% ls -F
Desktop/ larceny-0.961-src.tar.gz plt/
% tar xzf larceny-0.961-src.tar.gz
% cd larceny-0.961-src
% ../plt/bin/mzscheme
Welcome to MzScheme v372 [3m], Copyright (c) 2004-2007 PLT Scheme Inc.
Post by David Rush(load "setup.sch")
(setup 'scheme: 'mzscheme 'host: 'linux86 'sassy)
Loading MzScheme compatibility package.
src/Build/expander.sch
src/Build/config.sch
#t
Post by David Rush(build-config-files)
src/Rts/features.sch
Redefined feature set!
src/Build/nbuild.sch
src/Build/nbuild-files.sch
src/Build/nbuild-defns.sch
Loading Twobit.
src/Compiler/hash.sch
src/Compiler/hashtable.sch
src/Compiler/hashtree.sch
src/Compiler/sets.sch
src/Compiler/switches.sch
src/Compiler/pass1.aux.sch
src/Compiler/pass2.aux.sch
src/Compiler/prefs.sch
src/Compiler/pass0.sch
src/Compiler/syntaxenv.sch
src/Compiler/syntaxrules2.sch
src/Compiler/syntaxrules.sch
src/Compiler/lowlevel.sch
src/Compiler/expand.sch
src/Compiler/usual.sch
WARNING from macro expander:
Redefining
let
src/Compiler/pass1.sch
src/Compiler/copy.sch
src/Compiler/pass3commoning.aux.sch
src/Compiler/pass3rep.aux.sch
src/Lib/Common/globals.sch
src/Lib/Common/ecodes.sch
src/Lib/Common/layouts.sch
src/Lib/Common/regs.sch
src/Compiler/common.imp.sch
WARNING from macro expander:
Redefining
.call
src/Compiler/iasn.imp.sch
src/Compiler/iasn.imp2.sch
src/Compiler/pass2p1.sch
src/Compiler/pass2p2.sch
src/Compiler/pass2if.sch
src/Compiler/pass3callgraph.sch
src/Compiler/pass3inlining.sch
src/Compiler/pass3folding.sch
src/Compiler/pass3anormal.sch
src/Compiler/pass3anormal2.sch
src/Compiler/pass3commoning.sch
src/Compiler/pass3rep.sch
src/Compiler/pass3.sch
src/Compiler/pass4.aux.sch
src/Compiler/pass4p1.sch
src/Compiler/pass4p2.sch
src/Compiler/pass4let.sch
src/Compiler/pass4special.sch
src/Compiler/pass4p3.sch
src/Compiler/driver-common.sch
src/Compiler/driver-twobit.sch
src/Compiler/printlap.sch
Loading the common assembler.
src/Asm/Shared/pass5p1.sch
src/Asm/Shared/asmutil.sch
src/Asm/Shared/asmutil32el.sch
src/Asm/Shared/asmutil32.sch
src/Asm/Shared/makefasl.sch
src/Asm/Shared/dumpheap.sch
Loading x86-sass machine assembler.
src/Asm/Shared/external-assembler.sch
Selecting compiler: No compiler at all
src/Asm/IAssassin/sassy-machine.sch
src/Asm/IAssassin/sassy-instr.sch
src/Asm/IAssassin/sassy-invoke.sch
src/Asm/IAssassin/pass5p2-sassy.sch
src/Asm/IAssassin/peepopt.sch
src/Asm/IAssassin/asm-switches.sch
Loading bootstrap heap dumper.
Loading make utility, makefile, and help.
src/Build/make.sch
src/Build/compile-tools.sch
src/Lib/makefile.sch
src/Compiler/help.sch
Loading utility functions.
src/Rts/make-templates.sch
src/Build/cleanup.sch
Welcome. Type (help) for help.
Assembling src/Lib/Common/malcode.lop
Compiling src/Lib/Common/typetags.lap
Assembling src/Lib/Common/typetags.lop
Compiling src/Lib/Common/syscall-id.lap
Assembling src/Lib/Common/syscall-id.lop
Compiling src/Lib/Common/sys-unix.lap
Assembling src/Lib/Common/sys-unix.lop
Compiling src/Lib/Common/system-interface.lap
Assembling src/Lib/Common/system-interface.lop
Compiling src/Lib/Common/error0.lap
Assembling src/Lib/Common/error0.lop
Compiling src/Lib/Arch/IAssassin/primops.lap
Assembling src/Lib/Arch/IAssassin/primops.lop
Compiling src/Lib/Common/sysparam.lap
Assembling src/Lib/Common/sysparam.lop
Compiling src/Lib/Common/struct.lap
Assembling src/Lib/Common/struct.lop
Compiling src/Lib/Common/command-line.lap
Assembling src/Lib/Common/command-line.lop
Compiling src/Lib/Common/list.lap
Assembling src/Lib/Common/list.lop
Compiling src/Lib/Common/vector.lap
Assembling src/Lib/Common/vector.lop
Compiling src/Lib/Common/bytevector.lap
Assembling src/Lib/Common/bytevector.lop
Compiling src/Lib/Common/string.lap
Assembling src/Lib/Common/string.lop
Compiling src/Lib/Common/control.lap
Assembling src/Lib/Common/control.lop
Compiling src/Lib/Common/hash.lap
Assembling src/Lib/Common/hash.lop
Compiling src/Lib/Common/preds.lap
Assembling src/Lib/Common/preds.lop
Compiling src/Lib/Common/oblist.lap
Assembling src/Lib/Common/oblist.lop
Compiling src/Lib/Common/mcode.lap
Assembling src/Lib/Common/mcode.lop
Compiling src/Lib/Common/memstats.lap
Assembling src/Lib/Common/memstats.lop
Compiling src/Lib/Common/record.lap
Assembling src/Lib/Common/record.lop
Compiling src/Lib/Common/condition.lap
Assembling src/Lib/Common/condition.lop
Compiling src/Lib/Common/ecodes.lap
Assembling src/Lib/Common/ecodes.lop
Compiling src/Lib/Common/ehandler.lap
Assembling src/Lib/Common/ehandler.lop
Compiling src/Lib/Common/error.lap
Assembling src/Lib/Common/error.lop
Compiling src/Lib/Common/raise.lap
Assembling src/Lib/Common/raise.lop
Compiling src/Lib/Common/timer.lap
Assembling src/Lib/Common/timer.lop
Compiling src/Lib/Common/exit.lap
Assembling src/Lib/Common/exit.lop
Compiling src/Lib/Common/dump.lap
Assembling src/Lib/Common/dump.lop
Compiling src/Lib/Common/secret.lap
Assembling src/Lib/Common/secret.lop
Compiling src/Lib/Common/hashtable.lap
Assembling src/Lib/Common/hashtable.lop
Compiling src/Lib/Common/enum.lap
Assembling src/Lib/Common/enum.lop
Compiling src/Lib/Common/unicode0.lap
Assembling src/Lib/Common/unicode0.lop
Compiling src/Lib/Common/unicode1.lap
Assembling src/Lib/Common/unicode1.lop
Compiling src/Lib/Common/unicode2.lap
Assembling src/Lib/Common/unicode2.lop
Compiling src/Lib/Common/unicode3.lap
Assembling src/Lib/Common/unicode3.lop
Compiling src/Lib/Common/unicode4.lap
Assembling src/Lib/Common/unicode4.lop
Compiling src/Lib/Common/require.lap
Assembling src/Lib/Common/require.lop
Compiling src/Lib/Common/iosys.lap
Assembling src/Lib/Common/iosys.lop
Compiling src/Lib/Common/fileio.lap
Assembling src/Lib/Common/fileio.lop
Compiling src/Lib/Common/conio.lap
Assembling src/Lib/Common/conio.lop
Compiling src/Lib/Common/bytevectorio.lap
Assembling src/Lib/Common/bytevectorio.lop
Compiling src/Lib/Common/stringio.lap
Assembling src/Lib/Common/stringio.lop
Compiling src/Lib/Common/customio.lap
Assembling src/Lib/Common/customio.lop
Compiling src/Lib/Common/utf16.lap
Assembling src/Lib/Common/utf16.lop
Compiling src/Lib/Common/portio.lap
Assembling src/Lib/Common/portio.lop
Compiling src/Lib/Common/stdio.lap
Assembling src/Lib/Common/stdio.lop
Compiling src/Lib/Common/print.lap
Assembling src/Lib/Common/print.lop
Compiling src/Lib/Common/ioboot.lap
Assembling src/Lib/Common/ioboot.lop
Compiling src/Lib/Common/format.lap
Assembling src/Lib/Common/format.lop
Compiling src/Lib/Common/sort.lap
Assembling src/Lib/Common/sort.lop
Compiling src/Lib/Common/number.lap
Assembling src/Lib/Common/number.lop
Compiling src/Lib/Common/fx.lap
Assembling src/Lib/Common/fx.lop
Compiling src/Lib/Common/fl.lap
Assembling src/Lib/Common/fl.lop
Compiling src/Lib/Common/bitwise.lap
Assembling src/Lib/Common/bitwise.lop
Compiling src/Lib/Common/globals.lap
Assembling src/Lib/Common/globals.lop
Compiling src/Lib/Common/profile.lap
Assembling src/Lib/Common/profile.lop
Compiling src/Lib/Common/bignums-el.lap
Assembling src/Lib/Common/bignums-el.lop
Compiling src/Lib/Common/bignums.lap
Assembling src/Lib/Common/bignums.lop
Compiling src/Lib/Common/ratnums.lap
Assembling src/Lib/Common/ratnums.lop
Compiling src/Lib/Common/rectnums.lap
Assembling src/Lib/Common/rectnums.lop
Compiling src/Lib/Common/flonums-el.lap
Assembling src/Lib/Common/flonums-el.lop
Compiling src/Lib/Common/flonums.lap
Assembling src/Lib/Common/flonums.lop
Compiling src/Lib/Common/contag.lap
Assembling src/Lib/Common/contag.lop
Compiling src/Lib/Common/num2str.lap
Assembling src/Lib/Common/num2str.lop
Compiling src/Lib/Common/belle.lap
Assembling src/Lib/Common/belle.lop
Compiling src/Lib/Common/str2num.lap
Assembling src/Lib/Common/str2num.lop
Compiling src/Lib/Common/javadot-symbol.lap
Assembling src/Lib/Common/javadot-symbol.lop
Compiling src/Lib/Common/javadot-syntax.lap
Assembling src/Lib/Common/javadot-syntax.lop
Compiling src/Lib/Common/reader.lap
ANF size: 32727
Assembling src/Lib/Common/reader.lop
Compiling src/Lib/Common/env.lap
Assembling src/Lib/Common/env.lop
Compiling src/Lib/Common/procinfo.lap
Assembling src/Lib/Common/procinfo.lop
Compiling src/Lib/Common/load.lap
Assembling src/Lib/Common/load.lop
Compiling src/Lib/Common/eval.lap
Assembling src/Lib/Common/eval.lop
Compiling src/Lib/Common/syshooks.lap
Assembling src/Lib/Common/syshooks.lop
Compiling src/Lib/Common/gcctl.lap
Assembling src/Lib/Common/gcctl.lop
Compiling src/Lib/Common/toplevel.lap
Assembling src/Lib/Common/toplevel.lop
Compiling src/Lib/Arch/IAssassin/toplevel-target.lap
Assembling src/Lib/Arch/IAssassin/toplevel-target.lop
Compiling src/Lib/Arch/IAssassin/loadable.lap
Assembling src/Lib/Arch/IAssassin/loadable.lop
Compiling src/Lib/Common/go.lap
Assembling src/Lib/Common/go.lop
Compiling src/Lib/Repl/main.lap
Assembling src/Lib/Repl/main.lop
Compiling src/Lib/Repl/reploop.lap
Assembling src/Lib/Repl/reploop.lop
Compiling src/Lib/Interpreter/interp.lap
Assembling src/Lib/Interpreter/interp.lop
Compiling src/Lib/Interpreter/interp-prim.lap
Assembling src/Lib/Interpreter/interp-prim.lop
Compiling src/Lib/Interpreter/switches.lap
Assembling src/Lib/Interpreter/switches.lop
Compiling src/Compiler/pass0.lap
Assembling src/Compiler/pass0.lop
Compiling src/Compiler/pass1.lap
Assembling src/Compiler/pass1.lop
Compiling src/Compiler/pass1.aux.lap
Assembling src/Compiler/pass1.aux.lop
Compiling src/Compiler/pass2.aux.lap
Assembling src/Compiler/pass2.aux.lop
Compiling src/Compiler/prefs.lap
Assembling src/Compiler/prefs.lop
Compiling src/Compiler/syntaxenv.lap
Assembling src/Compiler/syntaxenv.lop
Compiling src/Compiler/syntaxrules2.lap
Assembling src/Compiler/syntaxrules2.lop
Compiling src/Compiler/syntaxrules.lap
Assembling src/Compiler/syntaxrules.lop
Compiling src/Compiler/lowlevel.lap
Assembling src/Compiler/lowlevel.lop
Compiling src/Compiler/expand.lap
Assembling src/Compiler/expand.lop
Compiling src/Compiler/usual.lap
Assembling src/Compiler/usual.lop
Compiling src/Lib/Interpreter/macro-expand.lap
Assembling src/Lib/Interpreter/macro-expand.lop
Dumping sasstrap.heap
Loading src/Lib/Common/malcode.lop
Loading src/Lib/Common/typetags.lop
Loading src/Lib/Common/syscall-id.lop
Loading src/Lib/Common/sys-unix.lop
Loading src/Lib/Common/system-interface.lop
Loading src/Lib/Common/error0.lop
Loading src/Lib/Arch/IAssassin/primops.lop
Loading src/Lib/Common/sysparam.lop
Loading src/Lib/Common/struct.lop
Loading src/Lib/Common/command-line.lop
Loading src/Lib/Common/list.lop
Loading src/Lib/Common/vector.lop
Loading src/Lib/Common/bytevector.lop
Loading src/Lib/Common/string.lop
Loading src/Lib/Common/control.lop
Loading src/Lib/Common/hash.lop
Loading src/Lib/Common/preds.lop
Loading src/Lib/Common/oblist.lop
Loading src/Lib/Common/mcode.lop
Loading src/Lib/Common/memstats.lop
Loading src/Lib/Common/record.lop
Loading src/Lib/Common/condition.lop
Loading src/Lib/Common/ecodes.lop
Loading src/Lib/Common/ehandler.lop
Loading src/Lib/Common/error.lop
Loading src/Lib/Common/raise.lop
Loading src/Lib/Common/timer.lop
Loading src/Lib/Common/exit.lop
Loading src/Lib/Common/dump.lop
Loading src/Lib/Common/secret.lop
Loading src/Lib/Common/hashtable.lop
Loading src/Lib/Common/enum.lop
Loading src/Lib/Common/unicode0.lop
Loading src/Lib/Common/unicode1.lop
Loading src/Lib/Common/unicode2.lop
Loading src/Lib/Common/unicode3.lop
Loading src/Lib/Common/unicode4.lop
Loading src/Lib/Common/require.lop
Loading src/Lib/Common/iosys.lop
Loading src/Lib/Common/fileio.lop
Loading src/Lib/Common/conio.lop
Loading src/Lib/Common/bytevectorio.lop
Loading src/Lib/Common/stringio.lop
Loading src/Lib/Common/customio.lop
Loading src/Lib/Common/utf16.lop
Loading src/Lib/Common/portio.lop
Loading src/Lib/Common/stdio.lop
Loading src/Lib/Common/print.lop
Loading src/Lib/Common/ioboot.lop
Loading src/Lib/Common/format.lop
Loading src/Lib/Common/sort.lop
Loading src/Lib/Common/number.lop
Loading src/Lib/Common/fx.lop
Loading src/Lib/Common/fl.lop
Loading src/Lib/Common/bitwise.lop
Loading src/Lib/Common/globals.lop
Loading src/Lib/Common/profile.lop
Loading src/Lib/Common/bignums-el.lop
Loading src/Lib/Common/bignums.lop
Loading src/Lib/Common/ratnums.lop
Loading src/Lib/Common/rectnums.lop
Loading src/Lib/Common/flonums-el.lop
Loading src/Lib/Common/flonums.lop
Loading src/Lib/Common/contag.lop
Loading src/Lib/Common/num2str.lop
Loading src/Lib/Common/belle.lop
Loading src/Lib/Common/str2num.lop
Loading src/Lib/Common/javadot-symbol.lop
Loading src/Lib/Common/javadot-syntax.lop
Loading src/Lib/Common/reader.lop
Loading src/Lib/Common/env.lop
Loading src/Lib/Common/procinfo.lop
Loading src/Lib/Common/load.lop
Loading src/Lib/Common/eval.lop
Loading src/Lib/Common/syshooks.lop
Loading src/Lib/Common/gcctl.lop
Loading src/Lib/Common/toplevel.lop
Loading src/Lib/Arch/IAssassin/toplevel-target.lop
Loading src/Lib/Arch/IAssassin/loadable.lop
Loading src/Lib/Common/go.lop
Loading src/Lib/Repl/main.lop
Loading src/Lib/Repl/reploop.lop
Loading src/Lib/Interpreter/interp.lop
Loading src/Lib/Interpreter/interp-prim.lop
Loading src/Lib/Interpreter/switches.lop
Loading src/Compiler/pass0.lop
Loading src/Compiler/pass1.lop
Loading src/Compiler/pass1.aux.lop
Loading src/Compiler/pass2.aux.lop
Loading src/Compiler/prefs.lop
Loading src/Compiler/syntaxenv.lop
Loading src/Compiler/syntaxrules2.lop
Loading src/Compiler/syntaxrules.lop
Loading src/Compiler/lowlevel.lop
Loading src/Compiler/expand.lop
Loading src/Compiler/usual.lop
Loading src/Lib/Interpreter/macro-expand.lop
Assembling final procedure
Creating final image in "sasstrap.heap"...