cbaggers / cepl.sdl2 Goto Github PK
View Code? Open in Web Editor NEWPackage that let's sdl2 host cepl
License: BSD 2-Clause "Simplified" License
Package that let's sdl2 host cepl
License: BSD 2-Clause "Simplified" License
Quickloading cepl.sdl2 and calling (cepl:repl) gets me the following error:
SDL Error (-1): SDL not built with haptic (force feedback) support
[Condition of type SDL2::SDL-RC-ERROR]
The issue seems to be that sdl-init is called without any arguments, which then defaults to enabling the :everything flag. This enables all SDL modules, including ones that may not be included in the SDL build, and causes an error. Considering a CEPL host does not require force feedback, joystick support, etc, I think it would be best if sdl-init defaulted to only the flags the host needs.
Shouldnt do, but worth a check
Hello!
I was using CEPL & wasn't getting a stencil buffer. After playing around with cepl.sdl2, to get a stencil buffer this needs moving to the make-sdl-surface function
(sdl2:gl-set-attr :stencil-size stencil-size)
Unless I've misunderstood something, all the other calls to gl-set-attr probably need moving as well
macOS 10.12.3
SBCL 1.3.14
I started with cepl from quicklisp and went on to clone cepl and cepl.sdl2 to quicklisp/local-projects, which did not help.
Are there dependencies other than OpenGL that I must install?
COMPILE-FILE-ERROR while
compiling #<CL-SOURCE-FILE "sdl2" "syswm">
[Condition of type UIOP/LISP-BUILD:COMPILE-FILE-ERROR]
Restarts:
0: [RETRY] Retry compiling #<CL-SOURCE-FILE "sdl2" "syswm">.
1: [ACCEPT] Continue, treating compiling #<CL-SOURCE-FILE "sdl2" "syswm"> 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 "cepl.sdl2"
5: [ABORT] Exit debugger, returning to top level.
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 "sdl2" "syswm">)))
Locals:
CONTEXT-ARGUMENTS = ((#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">))
CONTEXT-FORMAT = "~/asdf-action::format-action/"
FAILURE-P = T
OUTPUT = NIL
WARNINGS-P = T
1: ((SB-PCL::EMF ASDF/ACTION:PERFORM) #<unavailable argument> #<unavailable argument> #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">)
Locals:
SB-DEBUG::ARG-2 = #<ASDF/LISP-ACTION:COMPILE-OP >
SB-DEBUG::ARG-3 = #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">
2: ((:METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS :AROUND (T T)) #<ASDF/LISP-ACTION:COMPILE-OP > #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">) [fast-method]
Locals:
SB-DEBUG::ARG-1 = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD ASDF/ACTION:PERFORM-WITH-RESTARTS (T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2))
SB-DEBUG::ARG-2 = #<ASDF/LISP-ACTION:COMPILE-OP >
SB-DEBUG::ARG-3 = #<ASDF/LISP-ACTION:CL-SOURCE-FILE "sdl2" "syswm">
3: ((:METHOD ASDF/PLAN:PERFORM-PLAN (LIST)) ((#1=#<ASDF/LISP-ACTION:PREPARE-OP > . #2=#<ASDF/SYSTEM:SYSTEM "uiop">) (#3=#<ASDF/LISP-ACTION:COMPILE-OP > . #2#) (#<ASDF/LISP-ACTION:LOAD-OP > . #2#) (#1# . ..
Locals:
#:.DEFAULTING-TEMP. = NIL
ASDF/PLAN::STEPS = ((#<ASDF/LISP-ACTION:PREPARE-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) (#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) (#<ASDF/LISP-ACTION:LOAD-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) ..)
4: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
[No Locals]
5: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) ((#1=#<ASDF/LISP-ACTION:PREPARE-OP > . #2=#<ASDF/SYSTEM:SYSTEM "uiop">) (#3=#<ASDF/LISP-ACTION:COMPILE-OP > . #2#) (#<ASDF/LISP-ACTION:LOAD-OP > . #2#) (#..
Locals:
SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL ..)
SB-PCL::.REST-ARG. = (:VERBOSE NIL)
ASDF/PLAN:PLAN = ((#<ASDF/LISP-ACTION:PREPARE-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) (#<ASDF/LISP-ACTION:COMPILE-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) (#<ASDF/LISP-ACTION:LOAD-OP > . #<ASDF/SYSTEM:SYSTEM "uiop">) ..)
6: ((FLET SB-C::WITH-IT :IN SB-C::%WITH-COMPILATION-UNIT))
[No Locals]
7: ((:METHOD ASDF/PLAN:PERFORM-PLAN :AROUND (T)) #<ASDF/PLAN:SEQUENTIAL-PLAN {100519D1E3}> :VERBOSE NIL) [fast-method]
Locals:
SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD ASDF/PLAN:PERFORM-PLAN (T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (1 . T))
SB-PCL::.REST-ARG. = (:VERBOSE NIL)
ASDF/PLAN:PLAN = #<ASDF/PLAN:SEQUENTIAL-PLAN {100519D1E3}>
8: ((:METHOD ASDF/OPERATE:OPERATE (ASDF/OPERATION:OPERATION ASDF/COMPONENT:COMPONENT)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "cepl.sdl2"> :VERBOSE NIL) [fast-method]
Locals:
#:.DEFAULTING-TEMP. = NIL
ASDF/COMPONENT:COMPONENT = #<ASDF/SYSTEM:SYSTEM "cepl.sdl2">
ASDF/OPERATION:OPERATION = #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL>
SB-DEBUG::MORE = (:VERBOSE NIL)
9: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "cepl.sdl2"> :VERBOSE NIL)
Locals:
SB-PCL::.ARG0. = #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL>
SB-PCL::.ARG1. = #<ASDF/SYSTEM:SYSTEM "cepl.sdl2">
SB-DEBUG::MORE = (:VERBOSE NIL)
10: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
[No Locals]
11: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL> #<ASDF/SYSTEM:SYSTEM "cepl.sdl2"> :VERBOSE NIL) [fast-method]
Locals:
SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<CLOSURE (SB-PCL::EMF ASDF/OPERATE:OPERATE) {1002274BFB}> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2 . T))
SB-PCL::.REST-ARG. = (:VERBOSE NIL)
ASDF/COMPONENT:COMPONENT = #<ASDF/SYSTEM:SYSTEM "cepl.sdl2">
ASDF/OPERATION:OPERATION = #<ASDF/LISP-ACTION:LOAD-OP :VERBOSE NIL>
12: ((SB-PCL::EMF ASDF/OPERATE:OPERATE) #<unused argument> #<unused argument> ASDF/LISP-ACTION:LOAD-OP "cepl.sdl2" :VERBOSE NIL)
Locals:
SB-PCL::.ARG0. = ASDF/LISP-ACTION:LOAD-OP
SB-PCL::.ARG1. = "cepl.sdl2"
SB-DEBUG::MORE = (:VERBOSE NIL)
13: ((LAMBDA NIL :IN ASDF/OPERATE:OPERATE))
[No Locals]
14: (ASDF/CACHE:CALL-WITH-ASDF-CACHE #<CLOSURE (LAMBDA NIL :IN ASDF/OPERATE:OPERATE) {100517AA0B}> :OVERRIDE NIL :KEY NIL)
Locals:
#:.DEFAULTING-TEMP. = NIL
#:.DEFAULTING-TEMP.#1 = NIL
THUNK = #<CLOSURE (LAMBDA () :IN ASDF/OPERATE:OPERATE) {100517AA0B}>
15: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "cepl.sdl2" :VERBOSE NIL) [fast-method]
Locals:
SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<CLOSURE (SB-PCL::EMF ASDF/OPERATE:OPERATE) {1002274C9B}> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2 . T))
SB-PCL::.REST-ARG. = (:VERBOSE NIL)
ASDF/COMPONENT:COMPONENT = "cepl.sdl2"
ASDF/OPERATION:OPERATION = ASDF/LISP-ACTION:LOAD-OP
16: ((:METHOD ASDF/OPERATE:OPERATE :AROUND (T T)) ASDF/LISP-ACTION:LOAD-OP "cepl.sdl2" :VERBOSE NIL) [fast-method]
Locals:
SB-PCL::.NEXT-METHOD-CALL. = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<CLOSURE (SB-PCL::EMF ASDF/OPERATE:OPERATE) {1002274C9B}> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2 . T))
SB-PCL::.REST-ARG. = (:VERBOSE NIL)
ASDF/COMPONENT:COMPONENT = "cepl.sdl2"
ASDF/OPERATION:OPERATION = ASDF/LISP-ACTION:LOAD-OP
17: (ASDF/OPERATE:LOAD-SYSTEM "cepl.sdl2" :VERBOSE NIL)
Locals:
SYSTEM = "cepl.sdl2"
SB-DEBUG::MORE = (:VERBOSE NIL)
18: (QUICKLISP-CLIENT::CALL-WITH-MACROEXPAND-PROGRESS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {100515A0FB}>)
Locals:
SB-DEBUG::ARG-0 = #<CLOSURE (LAMBDA () :IN QUICKLISP-CLIENT::APPLY-LOAD-STRATEGY) {100515A0FB}>
19: (QUICKLISP-CLIENT::AUTOLOAD-SYSTEM-AND-DEPENDENCIES "cepl.sdl2" :PROMPT NIL)
Locals:
#:.DEFAULTING-TEMP. = NIL
NAME = "cepl.sdl2"
20: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T)) #<unavailable argument> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1005031EDB}>) [fast-method]
Locals:
SB-DEBUG::ARG-3 = #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1005031EDB}>
21: ((:METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION :AROUND (QL-IMPL:SBCL T)) #<QL-IMPL:SBCL {1002120F03}> #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1005031EDB}>) [fast-me..
Locals:
SB-DEBUG::ARG-1 = #S(SB-PCL::FAST-METHOD-CALL :FUNCTION #<FUNCTION (SB-PCL::FAST-METHOD QL-IMPL-UTIL::%CALL-WITH-QUIET-COMPILATION (T T))> :PV NIL :NEXT-METHOD-CALL NIL :ARG-INFO (2))
SB-DEBUG::ARG-2 = #<QL-IMPL:SBCL {1002120F03}>
SB-DEBUG::ARG-3 = #<CLOSURE (FLET QUICKLISP-CLIENT::QL :IN QUICKLISP-CLIENT:QUICKLOAD) {1005031EDB}>
22: ((:METHOD QUICKLISP-CLIENT:QUICKLOAD (T)) #<unavailable argument> :PROMPT NIL :SILENT NIL :VERBOSE NIL) [fast-method]
Locals:
#:.DEFAULTING-TEMP. = NIL
#:.DEFAULTING-TEMP.#1 = NIL
#:.DEFAULTING-TEMP.#2 = NIL
#:N-SUPPLIED-10 = 0
#:N-SUPPLIED-11 = 0
23: (QL-DIST::CALL-WITH-CONSISTENT-DISTS #<CLOSURE (LAMBDA NIL :IN QUICKLISP-CLIENT:QUICKLOAD) {100501CE8B}>)
Locals:
SB-DEBUG::ARG-0 = #<CLOSURE (LAMBDA () :IN QUICKLISP-CLIENT:QUICKLOAD) {100501CE8B}>
24: (SB-INT:SIMPLE-EVAL-IN-LEXENV (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2") #<NULL-LEXENV>)
Locals:
SB-DEBUG::ARG-0 = (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2")
SB-DEBUG::ARG-1 = #<NULL-LEXENV>
25: (EVAL (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2"))
Locals:
SB-DEBUG::ARG-0 = (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2")
26: (INTERACTIVE-EVAL (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2") :EVAL NIL)
Locals:
#:.DEFAULTING-TEMP. = NIL
SB-KERNEL:FORM = (QUICKLISP-CLIENT:QUICKLOAD "cepl.sdl2")
#:N-SUPPLIED-51 = 0
27: (SB-IMPL::REPL-FUN NIL)
Locals:
SB-DEBUG::ARG-0 = NIL
28: ((LAMBDA NIL :IN SB-IMPL::TOPLEVEL-REPL))
[No Locals]
Catch-tags:
SB-INT:TOPLEVEL-CATCHER
29: (SB-IMPL::%WITH-REBOUND-IO-SYNTAX #<CLOSURE (LAMBDA NIL :IN SB-IMPL::TOPLEVEL-REPL) {10021939DB}>)
Locals:
SB-DEBUG::ARG-0 = #<CLOSURE (LAMBDA () :IN SB-IMPL::TOPLEVEL-REPL) {10021939DB}>
30: (SB-IMPL::TOPLEVEL-REPL NIL)
Locals:
SB-DEBUG::ARG-0 = NIL
31: (SB-IMPL::TOPLEVEL-INIT)
[No Locals]
32: ((FLET #:WITHOUT-INTERRUPTS-BODY-77 :IN SAVE-LISP-AND-DIE))
[No Locals]
Catch-tags:
SB-IMPL::%END-OF-THE-WORLD
33: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))
[No Locals]
; file: /Users/username/quicklisp/dists/quicklisp/software/cl-sdl2-20170227-git/src/syswm.lisp
; in: DEFUN GET-WINDOW-WM-INFO
; (SDL2::INFO :INFO :WIN :WINDOW)
; ==>
; (PLUS-C:C-REF #:TMP0 SDL2-FFI:SDL-SYSWM-INFO :INFO :WIN :WINDOW)
;
; caught ERROR:
; during macroexpansion of (C-REF #:TMP0 SDL2-FFI:SDL-SYSWM-INFO ...). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; Unknown field :WINDOW for foreign-record type:
; #<AUTOWRAP:FOREIGN-RECORD ANON-TYPE-670 {10063B1A43}>
; Valid fields:
; :HDC (SDL2-FFI:HDC)
;
;
; caught ERROR:
; during macroexpansion of (C-REF #:TMP0 SDL2-FFI:SDL-SYSWM-INFO ...). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; Unknown field :WINDOW for foreign-record type:
; #<AUTOWRAP:FOREIGN-RECORD ANON-TYPE-670 {10063B1A43}>
; Valid fields:
; :HDC (SDL2-FFI:HDC)
;
.;
; caught ERROR:
; during macroexpansion of (C-REF #:TMP0 SDL2-FFI:SDL-SYSWM-INFO ...). Use
; *BREAK-ON-SIGNALS* to intercept.
;
; Unknown field :WINDOW for foreign-record type:
; #<AUTOWRAP:FOREIGN-RECORD ANON-TYPE-670 {10063B1A43}>
; Valid fields:
; :HDC (SDL2-FFI:HDC)
;
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.