joachifm / cl-webkit

A binding to WebKitGTK+ for Common Lisp
MIT License
53 stars 16 forks source link

Some systems failed to build for Quicklisp dist #68

Closed quicklisp closed 1 year ago

quicklisp commented 1 year ago

Building with SBCL 2.2.11.160-65fe8bb77 / ASDF 3.3.5 for quicklisp dist creation.

Trying to build commit id d60d43443115dfb5ff658e71c9611ce43aa83efe

cl-webkit2 fails to build with the following error:

; caught ERROR:
;   READ error during COMPILE-FILE: Symbol "G-VARIANT-GET-TYPE" not found in the GLIB package. Line: 25, Column: 59, File-Position: 796 Stream: #<SB-INT:FORM-TRACKING-STREAM for "file /home/quicklisp/quicklisp-controller/dist/build-cache/cl-webkit/4167ad8cd968969185f1b3a05808b43a8fa0b9c5/cl-webkit-20221227-git/webkit2/util.lisp" {101F5AFBC3}>
...
Unhandled UIOP/LISP-BUILD:COMPILE-FILE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001710003}>: COMPILE-FILE-ERROR while compiling #<CL-SOURCE-FILE "cl-webkit2" "util">

cl-webkit2/test fails to build with the following error:

Unhandled SIMPLE-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {1001710003}>: No package named "CFFI"

Full log here

aartaka commented 1 year ago

The cl-webkit2/test failure should be fixed with 998cf6bee56f0cdf392f590f8b233aaaea397257.

The cl-webkit2 one is extremely weird, though... @quicklisp, what's the fork/commit of cl-cffi-gtk you're building cl-webkit2 against?

quicklisp commented 1 year ago

I'm temporarily using https://github.com/sharplispers/cl-cffi-gtk head due to https://github.com/crategus/cl-cffi-gtk/issues/102

On Tue, Dec 27, 2022 at 1:49 PM Artyom Bologov @.***> wrote:

The cl-webkit2/test failure should be fixed with 998cf6b https://github.com/joachifm/cl-webkit/commit/998cf6bee56f0cdf392f590f8b233aaaea397257 .

The cl-webkit2 one is extremely weird, though... @quicklisp https://github.com/quicklisp, what's the fork/commit of cl-cffi-gtk you're building cl-webkit2 against?

— Reply to this email directly, view it on GitHub https://github.com/joachifm/cl-webkit/issues/68#issuecomment-1366103676, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACPNLJ7GYGKPWXNLWBMCNDWPM225ANCNFSM6AAAAAATKQN7KY . You are receiving this because you were mentioned.Message ID: @.***>

aartaka commented 1 year ago

That's a tricky situation:

@quicklisp, is it possible to add a feature keyword (something like :sharplispers-cl-cffi-gtk?) to the sharplispers port so that cl-webkit2 can distinguish between the Ferada port and sharplispers one?

Alternatively, maybe package Ferada port for Quicklisp too?

I'm temporarily using https://github.com/sharplispers/cl-cffi-gtk head due to crategus/cl-cffi-gtk#102 On Tue, Dec 27, 2022 at 1:49 PM Artyom Bologov @.> wrote: The cl-webkit2/test failure should be fixed with 998cf6b <998cf6b> . The cl-webkit2 one is extremely weird, though... @quicklisp https://github.com/quicklisp, what's the fork/commit of cl-cffi-gtk you're building cl-webkit2 against? — Reply to this email directly, view it on GitHub <#68 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACPNLJ7GYGKPWXNLWBMCNDWPM225ANCNFSM6AAAAAATKQN7KY . You are receiving this because you were mentioned.Message ID: @.>

quicklisp commented 1 year ago

I don't think adding features upstream is the best approach. You could use something like (find-symbol ...) to establish features that you need.

Sorry for this hassle - Quicklisp was using Ferada, then there was a request to use the "real" version from Crategus, then cffi updates broke both, and I opted to temporarily fork the supposed "real" one - it's a pain.

On Thu, Dec 29, 2022 at 3:45 AM Artyom Bologov @.***> wrote:

That's a tricky situation:

  • Ferada port of cl-cffi-gtk (that cl-webkit2 was used/tested with most of the time) has glib:g-variant-get-type function, but has no glib:g-variant-type (it only has a structure of that name).
  • While Crategus port of cl-cffi-gtk (forked to sharplispers) only has glib:g-variant-type, having no glib:g-variant-get-type.
  • Given that those ports don't push anything to features I cannot even add a feature-macro to use either of the functions.

@quicklisp https://github.com/quicklisp, is it possible to add a feature keyword (something like :sharplispers-cl-cffi-gtk?) to the sharplispers port so that cl-webkit2 can distinguish between the Ferada port and sharplispers one?

Alternatively, maybe package Ferada port for Quicklisp too?

I'm temporarily using https://github.com/sharplispers/cl-cffi-gtk head due to crategus/cl-cffi-gtk#102 https://github.com/crategus/cl-cffi-gtk/issues/102 … <#m1669898301046905810> On Tue, Dec 27, 2022 at 1:49 PM Artyom Bologov @.> wrote: The cl-webkit2/test failure should be fixed with 998cf6b https://github.com/joachifm/cl-webkit/commit/998cf6bee56f0cdf392f590f8b233aaaea397257 <998cf6b https://github.com/joachifm/cl-webkit/commit/998cf6bee56f0cdf392f590f8b233aaaea397257> . The cl-webkit2 one is extremely weird, though... @quicklisp https://github.com/quicklisp https://github.com/quicklisp https://github.com/quicklisp, what's the fork/commit of cl-cffi-gtk you're building cl-webkit2 against? — Reply to this email directly, view it on GitHub <#68 (comment) https://github.com/joachifm/cl-webkit/issues/68#issuecomment-1366103676>, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACPNLJ7GYGKPWXNLWBMCNDWPM225ANCNFSM6AAAAAATKQN7KY https://github.com/notifications/unsubscribe-auth/AACPNLJ7GYGKPWXNLWBMCNDWPM225ANCNFSM6AAAAAATKQN7KY . You are receiving this because you were mentioned.Message ID: @.>

— Reply to this email directly, view it on GitHub https://github.com/joachifm/cl-webkit/issues/68#issuecomment-1367160096, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACPNLPKE2AAQ4L2HSQLSETWPVFSVANCNFSM6AAAAAATKQN7KY . You are receiving this because you were mentioned.Message ID: @.***>

aartaka commented 1 year ago

Oh god, the whole GVariant API is differing between the ports. It feels impossible to write a fork-portable code with this |_・)

aartaka commented 1 year ago

So yeah, @quicklisp, any option to still depend on Ferada's port for cl-webkit? Porting it to Crategus/sharplispers one is not a one-liner at all.

quicklisp commented 1 year ago

I'll see about the Ferada option. That might also need some patching to work with the newest CFFI.

On Wed, Jan 25, 2023 at 3:29 AM Artyom Bologov @.***> wrote:

So yeah, @quicklisp https://github.com/quicklisp, any option to still depend on Ferada's port for cl-webkit? Porting it to Crategus/sharplispers one is not a one-liner at all.

— Reply to this email directly, view it on GitHub https://github.com/joachifm/cl-webkit/issues/68#issuecomment-1403252973, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACPNLOUVIC75YQTAM7SGFDWUDP5VANCNFSM6AAAAAATKQN7KY . You are receiving this because you were mentioned.Message ID: @.***>

quicklisp commented 1 year ago

Ok, I switched back to Ferada, and now I get this:

READ error during COMPILE-FILE: Symbol "G-VARIANT-GET-TYPE" not found in the GLIB package.

Log here: http://report.quicklisp.org/2023-02-03/failure-report/cl-webkit.html#cl-webkit2

On Thu, Jan 26, 2023 at 7:13 PM Zach Beane @.***> wrote:

I'll see about the Ferada option. That might also need some patching to work with the newest CFFI.

On Wed, Jan 25, 2023 at 3:29 AM Artyom Bologov @.***> wrote:

So yeah, @quicklisp https://github.com/quicklisp, any option to still depend on Ferada's port for cl-webkit? Porting it to Crategus/sharplispers one is not a one-liner at all.

— Reply to this email directly, view it on GitHub https://github.com/joachifm/cl-webkit/issues/68#issuecomment-1403252973, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACPNLOUVIC75YQTAM7SGFDWUDP5VANCNFSM6AAAAAATKQN7KY . You are receiving this because you were mentioned.Message ID: @.***>

aartaka commented 1 year ago

That is highly weird. You sure it's on Ferada port? Maybe some cache left from Crategus one? I had this error once when loading cl-webkit2, but that was because of Crategus port being in ~/common-lisp/ :D

quicklisp commented 1 year ago

Ah, it was a problem on my end. I changed the repo without clearing a cache and it led to this error. After fixing the cache problem, cl-webkit builds cleanly again. Thanks.

On Fri, Feb 3, 2023 at 7:58 AM Artyom Bologov @.***> wrote:

That is highly weird. You sure it's on Ferada port? Maybe some cache left from Crategus one? I had this error once when loading cl-webkit2, but that was because of Crategus port being in ~/common-lisp/ :D

— Reply to this email directly, view it on GitHub https://github.com/joachifm/cl-webkit/issues/68#issuecomment-1415836707, or unsubscribe https://github.com/notifications/unsubscribe-auth/AACPNLLLMDDUMXHQON5RGEDWVT6GFANCNFSM6AAAAAATKQN7KY . You are receiving this because you were mentioned.Message ID: @.***>

aartaka commented 1 year ago

Cool! Closing this then :)