Just wanted to give an update: thanks to Paul's advice I got everything working properly!
Thank you again!
-Ava
On 27/11/2020 14:13, Ava Fox wrote:
Still running into some issues, but this feels promising and gives me something to explore.
Thanks Paul!
- Ava
On 27/11/2020 13:54, PR wrote:
On 11/27/20, Ava Fox dev@computerfox.xyz wrote:
Daniel,
drakma does not list uiop/asdf/sb-bsd-sockets in it's asd system definition.
I did try and add those systems into the example system definition, but I ended up with the same result: lisp compiles fine, gcc compiles fine, but then the static executable throws the same errors.
FWIW: on iOS everything needs to be linked statically, and I ended up linking all the ECL "contrib" libs (*.a) manually, see this line: https://gitlab.com/eql/eql5-ios/-/blob/master/examples/REPL/repl.pro#L7
And don't forget to initialize every manually linked lib at program startup, like so: https://gitlab.com/eql/eql5-ios/-/blob/master/examples/REPL/build/main.cpp#L...
This approach should also work in your case (and is necessary because the "contrib" libs are not integrated automatically).
Paul
I'll submit a proper issue about it.
Thanks,
Ava
On 26/11/2020 06:07, Daniel Kochmański wrote:
Hey Ava,
are all dependencies specified in drakma? i.e sb-bsd-sockets, uiop and asdf? If not, please try add them as dependencies of your project. If that doesn't work then please file an issue with a source code you've used and dump from the console of what is happening (including commands you issue).
Best regards, Daniel
-- Daniel Kochmański ;; aka jackdaniel | Przemyśl, Poland TurtleWare - Daniel Kochmański | www.turtleware.eu
"Be the change that you wish to see in the world." - Mahatma Gandhi
‐‐‐‐‐‐‐ Original Message ‐‐‐‐‐‐‐ On Thursday, 26 November 2020 00:46, Ava Fox dev@computerfox.xyz wrote:
I've been learning how to create static executables with ECL and was looking at the provided example that uses an ASDF system that has defined dependencies (https://gitlab.com/embeddable-common-lisp/ecl/-/tree/develop/examples/asdf_w...).
When following the readme, and building it as-is with Quicklisp fetching alexandria (the only dependency specified) it works fine.
However, when I change that dependency to include a project such as drakma it compiles fine but then throws SIMPLE-ERROR when I run the resulting static executable, saying that various uiop/asdf packages and sb-bsd-sockets cannot be found.
Exact error:
Condition of type: SIMPLE-ERROR Package ((SB-BSD-SOCKETS . #<SB-BSD-SOCKETS package>)) referenced in compiled file NIL but has not been created
Exact packages being listed as not being found: :sb-bsd-sockets, :uiop/filesystem, :uiop/os, :uiop/pathname, :asdf/operate, :asdf/lisp-action
Any help or ideas would be appreciated, I am just unsure of where to go from here.
ECL version: 20.4.24
Operating System: Linux Kernel 5.8.18