-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Failure to build the example due to asdf search paths #21
Comments
We haven't tried this with Roswell. Have you been able to reproduce this issue vanilla? |
I had essentially the same problem
I am probably using quicklisp wrong, any help would be much appreciated. EDIT: Note that I am still using the change in |
I have a new sticking point: I can't find My previous problem was fixed by using (require '#:asdf)
(asdf:load-asd (truename "./libcalc.asd"))
(asdf:load-system '#:libcalc)
(in-package #:sbcl-librarian/example/libcalc)
(build-bindings libcalc ".")
(build-python-bindings libcalc ".")
(build-core-and-die libcalc ".") and use roswell to run it. EDIT: You need to run |
@fakedrake Did you get it to work with those additional steps? We can probably update the readme to make the steps more clear. |
I was able to build
The generated
|
How did you build
But get such error:
|
I didn't mention all my steps to avoid derailing the conversation but here are all my steps:
now in Then to generate libcalc.core libcalc.c libcalc.h and libcalc.py
Now you need the sbcl library which is not shipped with roswell so you need to build it yourself from your own copy of the source
Now you have sbcl shared library so you can build libcalc
So now you have As an aside,
EDIT: I tried using the sbcl implementation rather than sbcl-bin. This one allows me to build against the roswell sbcl rather than a locally cloned copy but the error is very similar:
The fundamental problem here is that sbcl builds the compiler and the library indifferent steps and therefore they are assigned different build ids. |
I made an extremely dirty fix for the python problem:
|
Hi, The core file mismatch is exactly that: The sbcl build you made the core with (i.e. ran the build script on) is not the same as the libsbcl.so dynamic library you built. In the future this will be addressed in SBCL itself by having the binary sbcl distribution installation (including from package managers) include libsbcl.so in the dynamic library path of your OS, like how ECL provides their shared library support, so users won't need to download a copy of the source and build a differing library version themselves. |
Seems this code from (define-api handles (:function-prefix "")
(:function
(("lisp_release_handle" release-handle) :void ((handle :pointer)))
(("lisp_handle_eq" handle-eq) :bool ((a :pointer) (b :pointer))))) should also find it's way to some |
I was able to overcome this diff --git a/library.lisp b/library.lisp
index 817ddef..3a82e0a 100644
--- a/library.lisp
+++ b/library.lisp
@@ -35,7 +35,8 @@ Here ERROR-MAP, FUNCTION-PREFIX, and SPECS identify the arguments of DEFINE-API
,@(callable-definitions-from-spec function-prefix error-map specs)
(define-aggregate-library ,name
(:function-linkage ,function-linkage)
- ,library-api)))))
+ ,library-api
+ sbcl-librarian:handles))))) After applying it and regenerating
But this didn't help to solve "core file mismatch" problem :( |
I was just pushing the exact same fix and it looks like @karlosz fixed it in a different way a few hours ago on the main repo. The example works fine for me now. I have made a few more changes to automate a part of the process and I updated the README (although it is now centered around roswell) |
Just wanted to summarize my thoughts on the three distinct issues I see here: ASDF can't find the
|
I was unable to run the example unfortunately. I use roswell so I cloned into
~/.roswell/local-projects
. Then I navigated to~/.roswell/local-projects/sbcl-librarian/example
andBut it couldn't find the
'#:libcalc
system so I changed line 3 inexample/script.lisp
toBecause sbcl still couldn't find
sbcl-librarian
on its own I tried runingscript.lisp
with roswell directlyI don't know how to deal with this one. The readme gives some instructions but they are all the way at the end of the process, it would be nice to have some instructions that start at "where do I clone this project?".
The text was updated successfully, but these errors were encountered: