Re: Static Compilation Issues

2020-11-27 Thread Ava Fox
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  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  
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 . #)) 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








Re: Static Compilation Issues

2020-11-27 Thread Ava Fox
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  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  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 . #)) 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






Re: Static Compilation Issues

2020-11-27 Thread PR
On 11/27/20, Ava Fox  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  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 . #)) 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
>>
>
>



Re: Static Compilation Issues

2020-11-27 Thread Ava Fox

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.


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  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 . #)) 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






Re: Static Compilation Issues

2020-11-26 Thread Daniel Kochmański
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  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 . #)) 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