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

Build a Linux binary with asdf:make #89

Merged
merged 1 commit into from Apr 15, 2018

Conversation

3 participants
@vindarel
Contributor

vindarel commented Mar 26, 2018

Hello,

I've been able to build a linux binary (following the awesome Cookbook ;) https://lispcookbook.github.io/cl-cookbook/scripting.html#with-asdf)

Things to note/discuss:

  • you're using make.lisp for MacOS, shall we harmonize the process somehow ?
  • the compiled binary goes to source/next-gtk, should be trivial to change (also, what binary name ?)
  • closing Next doesn't kill the process, I have to force kill it.

The next easy step is to build it on CI, and I can do it on Gitlab CI if you wish (it's a powerful CI platform, I can't compare it to Circle and co, Gitlab recently added the possibility to have a Github repo and use their CI (which only needed to mirror the sources on Gitlab anyway) https://about.gitlab.com/features/github/).

Hope this helps for #76 & #78 .

@vindarel

This comment has been minimized.

Show comment
Hide comment
@vindarel

vindarel Apr 3, 2018

Contributor

I was able to create a binary on Gitlab CI for Debian Jessie: https://gitlab.com/vindarel/next-browser/blob/linux-binary/.gitlab-ci.yml (https://github.com/vindarel/next/blob/linux-binary/.gitlab-ci.yml)

We can download it in the job artficats here: https://gitlab.com/vindarel/next-browser/-/jobs/60954982 (100MB)

The user still needs to install libwebkit2gtk-4.0-dev.

Contributor

vindarel commented Apr 3, 2018

I was able to create a binary on Gitlab CI for Debian Jessie: https://gitlab.com/vindarel/next-browser/blob/linux-binary/.gitlab-ci.yml (https://github.com/vindarel/next/blob/linux-binary/.gitlab-ci.yml)

We can download it in the job artficats here: https://gitlab.com/vindarel/next-browser/-/jobs/60954982 (100MB)

The user still needs to install libwebkit2gtk-4.0-dev.

@Ambrevar

This comment has been minimized.

Show comment
Hide comment
@Ambrevar

Ambrevar Apr 15, 2018

Contributor

@vindarel: Thank you very much for this effort, this will certainly be very useful to me.

@jmercouris: Anything preventing a merge?

Contributor

Ambrevar commented Apr 15, 2018

@vindarel: Thank you very much for this effort, this will certainly be very useful to me.

@jmercouris: Anything preventing a merge?

@Ambrevar Ambrevar referenced this pull request Apr 15, 2018

Open

Guix package #92

@jmercouris

This comment has been minimized.

Show comment
Hide comment
@jmercouris

jmercouris Apr 15, 2018

Collaborator

@Ambrevar

There is nothing preventing this from being merged, other than the build system will have to change quite dramatically with the next release, but for now it is okay. I will merge it!

Thank you @vindarel for your efforts!!!

Collaborator

jmercouris commented Apr 15, 2018

@Ambrevar

There is nothing preventing this from being merged, other than the build system will have to change quite dramatically with the next release, but for now it is okay. I will merge it!

Thank you @vindarel for your efforts!!!

@jmercouris jmercouris merged commit 0dbac44 into atlas-engineer:master Apr 15, 2018

@vindarel

This comment has been minimized.

Show comment
Hide comment
@vindarel

vindarel Apr 15, 2018

Contributor

My pleasure, thank you.

If anything can be improved let me know !

Contributor

vindarel commented Apr 15, 2018

My pleasure, thank you.

If anything can be improved let me know !

@Ambrevar

This comment has been minimized.

Show comment
Hide comment
@Ambrevar

Ambrevar May 10, 2018

Contributor

@vindarel: I'm testing your image at the moment. I'm not too familiar with Common Lisp yet, so correct me if I'm wrong, but I understand that the generated image won't load without the proper version of scbl.core installed on the filesystem (in this case SBCL 1.4.5 must be installed). Right?

Contributor

Ambrevar commented May 10, 2018

@vindarel: I'm testing your image at the moment. I'm not too familiar with Common Lisp yet, so correct me if I'm wrong, but I understand that the generated image won't load without the proper version of scbl.core installed on the filesystem (in this case SBCL 1.4.5 must be installed). Right?

@vindarel

This comment has been minimized.

Show comment
Hide comment
@vindarel

vindarel May 10, 2018

Contributor

No :) the goal is to provide an executable without the need to install a Lisp. SBCL compiles to machine code, here on Linux x64, so if you're on the same platform, and you havelibwebkit2gtk-4.0-dev (I don't know how to include it, if possible), you should be able to run it as is.

(And btw, we can even compile web apps with their production server, a debugger, an interpreter… what a relief compared to deploying a Python app !)

Contributor

vindarel commented May 10, 2018

No :) the goal is to provide an executable without the need to install a Lisp. SBCL compiles to machine code, here on Linux x64, so if you're on the same platform, and you havelibwebkit2gtk-4.0-dev (I don't know how to include it, if possible), you should be able to run it as is.

(And btw, we can even compile web apps with their production server, a debugger, an interpreter… what a relief compared to deploying a Python app !)

@Ambrevar

This comment has been minimized.

Show comment
Hide comment
@Ambrevar

Ambrevar May 10, 2018

Contributor

But I get this:

> ./next-gtk 
fatal error encountered in SBCL pid 9107(tid 0x7ffff7fef740):
can't find core file at /usr/local/lib/sbcl//sbcl.core

Contributor

Ambrevar commented May 10, 2018

But I get this:

> ./next-gtk 
fatal error encountered in SBCL pid 9107(tid 0x7ffff7fef740):
can't find core file at /usr/local/lib/sbcl//sbcl.core

@Ambrevar

This comment has been minimized.

Show comment
Hide comment
@Ambrevar

Ambrevar May 10, 2018

Contributor

I can specify a core file, but my local version is wrong:

> ./next-gtk --core /gnu/store/lw9sjgxzzvflhqzyx3aylq4srnxf0v6x-sbcl-1.4.4/lib/sbcl/sbcl.core
This is SBCL 1.4.5, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
core was built for runtime "localhost-nixbld-2018-04-26-08-06-36" but this is "9784197ff616-root-2018-03-14-23-14-27"
fatal error encountered in SBCL pid 9654(tid 0x7ffff7fef740):
can't load .core for different runtime, sorry

Contributor

Ambrevar commented May 10, 2018

I can specify a core file, but my local version is wrong:

> ./next-gtk --core /gnu/store/lw9sjgxzzvflhqzyx3aylq4srnxf0v6x-sbcl-1.4.4/lib/sbcl/sbcl.core
This is SBCL 1.4.5, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
core was built for runtime "localhost-nixbld-2018-04-26-08-06-36" but this is "9784197ff616-root-2018-03-14-23-14-27"
fatal error encountered in SBCL pid 9654(tid 0x7ffff7fef740):
can't load .core for different runtime, sorry

@Ambrevar

This comment has been minimized.

Show comment
Hide comment
@Ambrevar

Ambrevar May 10, 2018

Contributor

Actually, it fails even with the right version (1.4.5):

./next-gtk --core /gnu/store/rflql1v3sppwxichzpwlbpmjvhvm1sva-sbcl-1.4.5/lib/sbcl/sbcl.core 
This is SBCL 1.4.5, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
core was built for runtime "localhost-nixbld-2018-05-10-15-14-30" but this is "9784197ff616-root-2018-03-14-23-14-27"
fatal error encountered in SBCL pid 13063(tid 0x7ffff7fef740):
can't load .core for different runtime, sorry
Contributor

Ambrevar commented May 10, 2018

Actually, it fails even with the right version (1.4.5):

./next-gtk --core /gnu/store/rflql1v3sppwxichzpwlbpmjvhvm1sva-sbcl-1.4.5/lib/sbcl/sbcl.core 
This is SBCL 1.4.5, an implementation of ANSI Common Lisp.
More information about SBCL is available at <http://www.sbcl.org/>.

SBCL is free software, provided as is, with absolutely no warranty.
It is mostly in the public domain; some portions are provided under
BSD-style licenses.  See the CREDITS and COPYING files in the
distribution for more information.
core was built for runtime "localhost-nixbld-2018-05-10-15-14-30" but this is "9784197ff616-root-2018-03-14-23-14-27"
fatal error encountered in SBCL pid 13063(tid 0x7ffff7fef740):
can't load .core for different runtime, sorry
@vindarel

This comment has been minimized.

Show comment
Hide comment
@vindarel

vindarel May 13, 2018

Contributor

(edited) after further discussion, it appears you have specific GuixSD difficulties.

Contributor

vindarel commented May 13, 2018

(edited) after further discussion, it appears you have specific GuixSD difficulties.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment