-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hello! Having a spare lunch hour, I started to set myself up to do some Ugarit hacking on my new work laptop. I quickly ran "sudo apt-get install chicken-bin" and a fresh 4.5.0 appeared in my path, so I ran off and tried to run my new ugarit test suite... ...only for it to die on trying to install tiger-hash, due to: installing message-digest: ... changing current directory to /tmp/chicken-install-31.tmp/message-digest /usr/bin/csi -bnq -setup-mode -e "(require-library setup-api)" -e "(import setup-api)" -e "(extension-name-and-version '(\"message-digest\" \"\"))" /tmp/chicken-install-31.tmp/message-digest/message-digest.setup /usr/bin/csc -feature compiling-extension -setup-mode message-digest.scm -shared -optimize-leaf-routines -inline -unboxing - -output-file message-digest.so -emit-import-library message-digest - -scrutinize -optimize-level 3 -debug-level 1 - -no-procedure-checks-for-toplevel-bindings -no-bound-checks csc: invalid option `-no-procedure-checks-for-toplevel-bindings' shell command failed with nonzero exit status 16384: /usr/bin/csc -feature compiling-extension -setup-mode message-digest.scm -shared -optimize-leaf-routines -inline -unboxing - -output-file message-digest.so -emit-import-library message-digest - -scrutinize -optimize-level 3 -debug-level 1 - -no-procedure-checks-for-toplevel-bindings -no-bound-checks Error: shell command terminated with nonzero exit code 17920 Looks like the message-digest egg passes - -no-procedure-checks-for-toplevel-bindings to csc, which this old version of it doesn't like. Now, there's several easy fixes to that (I'm compiling a more recent chicken from git as we speak), but it's a bad precedent IMHO that people might install chicken from their system package manager and then find they can't run Chicken apps. I'd like to be able to confidently say "Wanna use Ugarit? Install chicken then type 'chicken-setup -s ugarit' and you're away!" rather than expect people to install from source or from funny packages. In this case, I think that optimisation flags should all be ignored by csc if it doesn't understand them. Perhaps that would require optimisation flags being marked as such so they can be differentiated from less optional flags; that might be no bad thing anyway from a "keeping the flag namespace clean" perspective, if a messy change to go through. We've had other problems with problems due to moving things around in the core chicken libraries, too. I think, overally, we all need to think more about backwards and forwards compatibility when we change the chicken core, so that eggs can work reliably on older versions without needing too many version conditionals! ABS - -- Alaric Snell-Pym http://www.snell-pym.org.uk/alaric/ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk5OYDEACgkQRgz/WHNxCGrKvQCgjmZJPhN7BWmA+XKRC6aHewdY pWIAn0ewJghNLA7zePapPToLLHZ4Y03s =ed5i -----END PGP SIGNATURE----- _______________________________________________ Chicken-users mailing list Chicken-users@nongnu.org https://lists.nongnu.org/mailman/listinfo/chicken-users