cl-bodge
cl-bodge copied to clipboard
When running on a "freebsd-gnu", plataform is unknown
Hello!
I'm trying to run cl-bodge
with sbcl, but it seems that my plataform is not recognized? I'm not sure why it has gnu
on it, but seems to be a problem.
I've tried to add the key to the constant +known-plataforms+
, but I guess it needs more than that.
I'm a newbie at common-lisp, maybe I'm losing something?
Thanks!
- What I did:*
I've made a fresh install of quick lisp, installed bodge with (ql-dist:install-dist "http://bodge.borodust.org/dist/org.borodust.bodge.txt")
. Restarted the sbcl and then:
CL-USER> (load "/usr/home/eric/quicklisp/setup.lisp")
T
CL-USER> (ql:quickload :bodge-demo)
- The error:
; file: /.../quicklisp/dists/org.borodust.bodge/software/bodge-libc-essentials-20200824142303/bodge-libc-essentials.lisp
; in:
; CLAW.WRAPPER:DEFWRAPPER (BODGE-LIBC-ESSENTIALS::BODGE-LIBC-ESSENTIALS
; (:HEADERS "assert.h" "ctype.h" "errno.h" "limits.h"
; "locale.h" "math.h" "setjmp.h" "signal.h" "stdarg.h"
; "stddef.h" "stdio.h" ...)
; (:INCLUDE-DEFINITIONS "memcpy" "memcmp" "strcmp"
; "strcpy")
; (:EXCLUDE-DEFINITIONS "^_\\w*"))
; (CLAW.WRAPPER:DEFWRAPPER (BODGE-LIBC-ESSENTIALS::BODGE-LIBC-ESSENTIALS
; (:HEADERS "assert.h" "ctype.h" "errno.h" "limits.h"
; "locale.h" "math.h" "setjmp.h" "signal.h"
; "stdarg.h" "stddef.h" "stdio.h" ...)
; (:INCLUDE-DEFINITIONS "memcpy" "memcmp" "strcmp"
; "strcpy")
; (:EXCLUDE-DEFINITIONS "^_\\w*"))
; :IN-PACKAGE
; :%LIBC.ES)
;
; caught ERROR:
; (during macroexpansion of (CLAW.WRAPPER:DEFWRAPPER (BODGE-LIBC-ESSENTIALS::BODGE-LIBC-ESSENTIALS # ...)
; ...))
; No specification defined for current paltform x86_64-unknown-freebsd-gnu
Thank you for the report. Unfortunately, freebsd is not supported at the moment.
Oh, okay :/ I saw that +known-plataforms+
already knows about freebsd and I fought that it was supported.
How hard it is to implement it? May you point some path where I could look at?
For a newcomer that will require a tremendous effort. cl-bodge
uses foreign libraries extensively, meaning you would need to port a bunch of those to FreeBSD (compile them and generate bindings). To accomplish this, one would need to understand how C (and related tech), CFFI
and :claw
works. :claw
doesn't have any docs atm and is undergoing a HUGE rewrite to support C++. This is a massive task even for a seasoned Common Lisp programmer.
Once I'm done with :claw
rewrite, I might look into FreeBSD support myself, but no promises. This mostly depends on whether those foreign libraries do actually support it.
For a FreeBSD user, I suggest looking into other CL game engines for now. Candidates are (in no particular order): Sketch, Xelf, Trial.
thank you for the detailed information! it seems a lot, indeed.
I will start with those libraries while keeping an eye over cl-bodge :) maybe I can help in the future, if it's still needed.
Thanks! And have a good day :)