Re: Static Compilation Issues
Ava Fox <[email protected]> Fri, 27 Nov 2020 23:05:24 -0500
| Newsgroups | gmane.lisp.ecl.general |
|---|---|
| Message-ID | <[email protected]> |
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 <[email protected]> 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#L60 >> >> >> 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 <[email protected]> >>>> 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_with_dependence). >>>>> >>>>> 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 >>> >