mmontone / djula

Common Lisp port of the Django templating language
http://mmontone.github.io/djula/djula
MIT License
152 stars 21 forks source link

Error loading with quicklisp #30

Closed anquegi closed 9 years ago

anquegi commented 9 years ago

Hi all,

I'm trying to make a project with caveman 2, and loading it with quicklisp I get the following error on the library:

; ; caught ERROR: ; READ error during COMPILE-FILE: ;
; unmatched close parenthesis ;
; Line: 64, Column: 23, File-Position: 2075 ;
; Stream: #<SB-INT:FORM-TRACKING-STREAM ; for "file /Users/toni/.roswell/impls/ALL/ALL/quicklisp/dists/quicklisp/software/djula-20151031-git/src/lexer.lisp" ; {10082EC853}>

with the following trace:

COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "djula" "src" "lexer"> [Condition of type UIOP/LISP-BUILD:COMPILE-FILE-ERROR]

Restarts: 0: [RETRY] Retry compiling #<CL-SOURCE-FILE "djula" "src" "lexer">. 1: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "djula" "src" "lexer"> as having been successful. 2: [RETRY] Retry ASDF operation. 3: [CLEAR-CONFIGURATION-AND-RETRY] Retry ASDF operation after resetting the configuration. 4: [ABORT] Give up on "sample-web-app" 5: [*ABORT] Return to SLIME's top level. --more--

Backtrace: 0: (UIOP/LISP-BUILD:CHECK-LISP-COMPILE-RESULTS NIL T T "~/asdf-action::format-action/" ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "djula" "src" "lexer">))) 1: ((SB-PCL::EMF ASDF/ACTION:PERFORM) # # #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "djula" "src" "lexer">) 2: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "djula" "src" "lexer">) [fast-method] 3: ((:METHOD ASDF/PLAN:PERFORM-PLAN (LIST)) ((#1=#<ASDF/LISP-ACTION:PREPARE-OP > . #2=#<ASDF/SYSTEM:SYSTEM #3="lack-component">) (#1# . #4=#<ASDF/LISP-ACTION:CL-SOURCE-FILE #3# "src/component">) (#5=#<AS.. 4: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)) 5: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) ((#1=#<ASDF/LISP-ACTION:PREPARE-OP > . #2=#<ASDF/SYSTEM:SYSTEM #3="lack-component">) (#1# . #4=#<ASDF/LISP-ACTION:CL-SOURCE-FILE #3# "src/component">) (#5.. 6: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT)) 7: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {100710E6E3}> :VERBOSE NIL) [fast-method] 8: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "sample-web-app"> :VERBOSE NIL) [fast-method] 9: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) # # #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "sample-web-app"> :VERBOSE NIL) 10: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE)) 11: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "sample-web-app"> :VERBOSE NIL) [fast-method] 12: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) # # ASDF/LISP-ACTION:LOAD-OP "sample-web-app" :VERBOSE NIL) 13: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE)) 14: (ASDF/CACHE:CALL-WITH-ASDF-CACHE #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {10070FEC1B}> :OVERRIDE NIL :KEY NIL) 15: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "sample-web-app" :VERBOSE NIL) [fast-method] 16: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "sample-web-app" :VERBOSE NIL) [fast-method] 17: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {1006F0A77B}>) 18: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "sample-web-app" :PROMPT NIL) 19: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) # #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1004205EBB}>) [fast-method] 20: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {10050728F3}> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1004205EBB}>) [fast-me.. 21: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) # :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method] 22: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {10041E852B}>) 23: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD :SAMPLE-WEB-APP) #) 24: (EVAL (QUICKLISP-CLIENT:QUICKLOAD :SAMPLE-WEB-APP)) 25: (SWANK::%EVAL-REGION "(ql:quickload :sample-web-app) ..) 26: ((LAMBDA NIL :IN SWANK::%LISTENER-EVAL)) 27: (SWANK-REPL::TRACK-PACKAGE #<CLOSURE (LAMBDA NIL :IN SWANK::%LISTENER-EVAL) {10041E83EB}>) 28: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA NIL :IN SWANK::%LISTENER-EVAL) {10041E83CB}>) 29: (SWANK::%LISTENER-EVAL "(ql:quickload :sample-web-app) ..) 30: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK-REPL:LISTENER-EVAL "(ql:quickload :sample-web-app) ..) 31: (EVAL (SWANK-REPL:LISTENER-EVAL "(ql:quickload :sample-web-app) ..) 32: (SWANK:EVAL-FOR-EMACS (SWANK-REPL:LISTENER-EVAL "(ql:quickload :sample-web-app) ..) 33: (SWANK::PROCESS-REQUESTS NIL) 34: ((LAMBDA NIL :IN SWANK::HANDLE-REQUESTS)) 35: ((LAMBDA NIL :IN SWANK::HANDLE-REQUESTS)) 36: (SWANK/SBCL::CALL-WITH-BREAK-HOOK # #<CLOSURE (LAMBDA NIL :IN SWANK::HANDLE-REQUESTS) {1002F8800B}>) 37: ((FLET SWANK/BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/Users/toni/.roswell/impls/ALL/ALL/quicklisp/dists/quicklisp/software/slime-2.14/swank/sbcl.lisp") # #<CLOSURE (LA.. 38: (SWANK::CALL-WITH-BINDINGS ((STANDARD-OUTPUT . #1=#<SWANK/GRAY::SLIME-OUTPUT-STREAM {1002F5E343}>) (STANDARD-INPUT . #2=#<SWANK/GRAY::SLIME-INPUT-STREAM {1002AE82D3}>) (TRACE-OUTPUT . #1#) (*ERR.. 39: (SWANK::HANDLE-REQUESTS #<SWANK::MULTITHREADED-CONNECTION {1005E408A3}> NIL) 40: ((FLET #:WITHOUT-INTERRUPTS-BODY-1002 :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE)) 41: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE)) 42: ((FLET #:WITHOUT-INTERRUPTS-BODY-335 :IN SB-THREAD::CALL-WITH-MUTEX)) 43: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {DA83CFB}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THREAD ".. 44: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD "repl-thread" RUNNING {1002F80003}> NIL #<CLOSURE (LAMBDA NIL :IN SWANK-REPL::SPAWN-REPL-THREAD) {1002F7FF7B}> (#<SB-THREAD:THREAD "re.. 45: ("foreign function: call_into_lisp") 46: ("foreign function: new_thread_trampoline") 47: ("foreign function: _pthread_body") 48: ("foreign function: _pthread_body") 49: ("foreign function: thread_start")

PuercoPop commented 9 years ago

Hi,

I am unable to reproduce in SBCL. What lisp implementation are you using? Could you try to compile src/lexer.lisp in slime (C-c C-c in the buffer) to get a more detailed error message?

Judging by which character it is failing (the { symbol) and that you are loading cl-annot it may be an issue with that readtable? I would think that not as afaik it uses named-readtables to avoid messing the the default readtabl.

P.S. I am not the package maintainer but I'll try to help out

anquegi commented 9 years ago

Ok thanks, for your answer, I'm using roswell, and SBCL, I disabled cl-annot from loading in .sbclr CL-USER> (lisp-implementation-type) "SBCL" CL-USER> (lisp-implementation-version) "1.3.0" When I try to compile it with C-c C-c I get this error, quite the same, cd /Users/toni/.roswell/impls/ALL/ALL/quicklisp/dists/quicklisp/software/djula-20151031-git/src/ 1 compiler notes:

lexer.lisp:64:23: read-error: READ error during COMPILE-FILE:

  unmatched close parenthesis

    Line: 7, Column: 23, File-Position: 237

    Stream: #<SB-INT:FORM-TRACKING-STREAM
              for "file /private/var/tmp/tmp.1uptYq" {1003552DE3}>

Compilation failed.

and in the SBCL REPL

; caught ERROR: ; READ error during COMPILE-FILE: ;
; unmatched close parenthesis ;
; Line: 7, Column: 23, File-Position: 237 ;
; Stream: #<SB-INT:FORM-TRACKING-STREAM ; for "file /private/var/tmp/tmp.1uptYq" {1003552DE3}> ; ; compilation unit finished ; caught 1 fatal ERROR condition ; caught 1 ERROR condition

mmontone commented 9 years ago

I guess using '{' as variable name is probably unfortunate as it is quite commonly used for reader extensions. Let me change that something else and then you can try to recompile.

jorams commented 9 years ago

I just installed SBCL 1.3.0 using Roswell, generated a sample project using Caveman2's make-project, and tried to load it. I do not get any errors.

@anquegi What do you mean when you say

I disabled cl-annot from loading in .sbclr

?

anquegi commented 9 years ago

Well I have some libraries loaded with quicklisp (ql:quickload 'cl-annot) on the .sbclr file, in the previous answer Puercop said that may be the problem is with cl-annot

Thanks for your answers

mmontone commented 9 years ago

@anquegi I've just commited something. Pull from git and try again please. Maybe it solves your problem.

PuercoPop commented 9 years ago

@anquegi although I think @mmontone lastest commit will fix the problem, but just so we could reproduce you error could you post exactly how did you enabled annot-syntax in your .sbclrc file? I've tried with the following to no avail:

(ql:quickload :prove)
(cl-annot.syntax:enable-annot-syntax)
anquegi commented 9 years ago

Hi @mmontone thanks; i pull it form git and loaded with quicklisp it works perfectly, Thanks for solving this, this is a really nice library. Thanks a lot for solving this issue

This was the correct output after loading it. Thanks, now it works perfectly

CL-USER> (ql:quickload 'djula) To load "djula": Load 1 ASDF system: djula ; Loading "djula" .................................................. [package djula]................................... [package djula.token-processors].................. [package djula.token-processors].................. [package djula.token-processors].................. [package djula.unparsed-tag-processors]........... [package djula.unparsed-tag-processors]........... [package djula.unparsed-tag-processors]........... [package djula.tag-processors].................... [package djula.tag-processors].................... [package djula.tag-processors].................... [package djula.token-compilers]................... [package djula.token-compilers]................... [package djula.token-compilers]................... [package djula.tag-compilers]..................... [package djula.tag-compilers]..................... [package djula.tag-compilers]..................... [package djula.filters]........................... [package djula.filters]........................... [package djula.filters]................... (DJULA) CL-USER>

In order to close things with @PuercoPop, I only load with quicklisp do not use cl-annot, thanks for trying to solve this problem.

bye