Static Compilation Issues

Ava Fox dev at computerfox.xyz
Sat Nov 28 04:05:24 UTC 2020


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 at 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#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 <dev at 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_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
>>>
>



More information about the ecl-devel mailing list