Hello, when compiling the Snark theorem prover (<http://www.ai.sri.com/~stickel/snark.html>, or with ASDF system definition at <https://github.com/hoelzl/Snark>), ECL (version 12.7.1 on OSX 10.8.2, installed using homebrew) fails with an internal error:
silverbird:Snark tc$ ecl ;;; Loading "/Users/tc/Prog/Lisp/Quicklisp/setup.lisp" ;;; Loading #P"/usr/local/Cellar/ecl/12.7.1/lib/ecl-12.7.1/cmp.fas" ;;; Loading #P"/usr/local/Cellar/ecl/12.7.1/lib/ecl-12.7.1/asdf.fas" ECL (Embeddable Common-Lisp) 12.7.1 (git:UNKNOWN) Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya Copyright (C) 1993 Giuseppe Attardi Copyright (C) 2000 Juan J. Garcia-Ripoll ECL is free software, and you are welcome to redistribute it under certain conditions; see file 'Copyright' for details. Type :h for Help. Top level in: #<process TOP-LEVEL>. > (asdf:compile-system :snark) ;;; Loading "/Users/tc/Prog/Lisp/Hacking/Snark/snark.asd" ;;; Loading "/Users/tc/Prog/Lisp/Hacking/Snark/src/snark-implementation.asd" [...] ;;; Emitting code for UNIFY-IDENTITY. ;;; Emitting code for #:G1290. /Users/tc/.cache/common-lisp/ecl-12.7.1-unknown-macosx-x86/Users/tc/Prog/Lisp/Hacking/Snark/src/ASDF-TMP-unify-bag.c:7252:10: error: use of undeclared identifier 'aux_closure' value0=(aux_c... ^ /Users/tc/.cache/common-lisp/ecl-12.7.1-unknown-macosx-x86/Users/tc/Prog/Lisp/Hacking/Snark/src/ASDF-TMP-unify-bag.c:7252:26: error: use of undeclared identifier 'env0' value0=(aux_closure.env=e... ^ [...] /Users/tc/.cache/common-lisp/ecl-12.7.1-unknown-macosx-x86/Users/tc/Prog/Lisp/Hacking/Snark/src/ASDF-TMP-unify-bag.c:7276:65: error: use of undeclared identifier 'aux_closure' value0=(aux_closure.env=env0,cl_env_copy->function=(cl_object)&aux_c... ^ 9 errors generated. ;;; Internal error: ;;; ** Error code 1 when executing ;;; (RUN-PROGRAM "cc" ("-I." "-I/usr/local/Cellar/ecl/12.7.1/include/" "-g" "-O2" "-fPIC" "-fno-common" "-D_THREAD_SAFE" "-Ddarwin" "-O2" "-w" "-c" "/Users/tc/.cache/common-lisp/ecl-12.7.1-unknown-macosx-x86/Users/tc/Prog/Lisp/Hacking/Snark/src/ASDF-TMP-unify-bag.c" "-o" "/Users/tc/.cache/common-lisp/ecl-12.7.1-unknown-macosx-x86/Users/tc/Prog/Lisp/Hacking/Snark/src/ASDF-TMP-unify-bag.o")) Condition of type: COMPILE-ERROR Error while invoking #<compile-op NIL 000000010de0f690> on #<cl-source-file "snark-implementation" "unify-bag"> The first offending function in unify-bag.c is the following /* local function G1253 */ /* optimize speed 3, debug 0, space 0, safety 2 */ static cl_object LC39__g1253(cl_object V1) { VT46 VLEX46 CLSR46 STCK46 const cl_env_ptr cl_env_copy = ecl_process_env(); cl_object value0; ecl_cs_check(cl_env_copy,value0); { TTL: value0=(aux_closure.env=env0,cl_env_copy->function=(cl_object)&aux_closure,LC49bind_yterm(2,ecl_make_fixnum(0),V1)) /* BIND-YTERM */; return value0; }} where the problem seems to be that the definition of STCK46 in unify-bag.eclh is #define STCK46 static cl_object LC40__g1254(cl_object ); which does not include the definition of aux_closure. As far as I can tell by looking at the C output, LC39__g1253 is part of the definition of the BIND-XTERM function, which is pretty hairy and defined inside a LABELS form. Unfortunately I have no simple test case that triggers the error, so this is probably not be a particularly useful bug report. Sorry about that. Best regards, Matthias ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ Ecls-list mailing list Ecls-list@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/ecls-list