[cffi-devel] Bus error ... ?! Help, please ... SOLVED

Frank Goenninger frgo at me.com
Mon May 11 13:50:50 UTC 2009


For the records and for the archives:

The error described below is a result of not having created a valid  
OpenGL context (= window) before calling an OpenGL function. No matter  
what function gets called before having a windows OpenGL is quite  
unforgiving and will crash the app with a bus error.

So, OpenGL does not even allow for querying the version info without a  
window ...

Well, not to be forgotten - it was one of those Unknown Unknowns.

;-)

Thanks to everybody for the feedback, help and support.

Cheers
    Frank

Am 08.05.2009 um 14:48 schrieb Frank Goenninger:

> Hi all:
>
> While resurrecting Kenny Tilton's Cello and trying to reuse some code
> of the cl-opengl bindings (trying to unite the two) I came across this
> error:
>
> Source:
>
> (define-foreign-library OpenGL
>   (:darwin (:framework "OpenGL"))
>   (:windows "opengl32.dll" :calling-convention :stdcall)
>   (:unix (:or "libGL.so" "libGL.so.2" "libGL.so.1")))
>
> (use-foreign-library OpenGL)
>
> (define-foreign-library GLU
>   (:windows "glu32.dll")
>   ((:and :unix (:not :darwin)) (:or "libGLU.so.1" "libGLU.so"))
>   ((:not :darwin) (:default "libGLU")))
>
> (use-foreign-library GLU)
>
> (defconstant GL_VERSION #x1f02)
> (defctype GLenum :unsigned-int)
>
> (defmacro defglfun ((cname lname) result-type &body body)
>   `(progn
>      (declaim (inline ,lname))
>      (defcfun (,cname ,lname :library OpenGL) ,result-type , at body)))
>
> (defglfun ("glGetString" %glGetString) :pointer
>   (name GLenum))
>
> (defun gl-get-version ()
>   (let ((version-string (%glGetString GL_VERSION))) ;; <<<<---- BUS
> ERROR !
>     (break)
>     (foreign-string-to-lisp version-string)))
>
> REPL:
>
> ;   Foreign loading /System/Library/Frameworks/OpenGL.framework/ 
> OpenGL.
> CL-USER > (gl-get-version)
> Bus Error (Signal 10)
>
> Oh, btw, that happens no matter what function from OpenGL I try to
> call... So, something very fundamental must be wrong here. I just
> can't see what ... Please help!
>
> TIA!!!!
>
> Best,
>    Frank
>
>
> _______________________________________________
> cffi-devel mailing list
> cffi-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/cffi-devel

--
   Frank Goenninger

   Cell: 	+49 175 4321058
   E-Mail: 	frgo at me.com









More information about the cffi-devel mailing list