Ferada / cl-cffi-gtk

#cl-cffi-gtk on Freenode. A Lisp binding to GTK+3. SBCL/CCL/ABCL (ECL/CLISP unstable)
http://www.crategus.com/books/cl-cffi-gtk
41 stars 8 forks source link

Can't build with Debian 8 on latest SBCL #28

Closed quicklisp closed 5 years ago

quicklisp commented 5 years ago

http://report.quicklisp.org/2018-11-29/failure-report/cl-cffi-gtk.html has a build failure log. I get this:

; in: DEFINE-G-OBJECT-CLASS "GListStore"
;     (GOBJECT:DEFINE-G-OBJECT-CLASS "GListStore" GIO::G-LIST-STORE
;                                    (:SUPERCLASS GOBJECT:G-OBJECT :EXPORT T
;                                     :INTERFACES ("GListModel") :TYPE-INITIALIZER
;                                     "g_list_store_get_type")
;                                    ((GIO::ITEM-TYPE GIO::G-LIST-STORE-ITEM-TYPE
;                                      "item-type" "GType" T T)))
; 
; caught ERROR:
;   (during macroexpansion of (DEFINE-G-OBJECT-CLASS "GListStore" ...))
;   Unknown interface GListModel

What can I do?

Ferada commented 5 years ago

I pushed a fix, please try again. Hope that works, I don't have a test system with older libraries unfortunately. Otherwise I can try building it myself again in a few hours if you can wait with the release that long.

Long-term: Newer GTK+ and related libraries, so an upgrade to Debian 9 would be required to have many of the newer additions available.


Cause is this, https://github.com/Ferada/cl-cffi-gtk/commit/a7cbd1197a60b0beb305106d6e9c40ab30ef4526, meaning the version of libglib on the build system is a bit too low. The other interface was already guarded against the library version, this one I missed unfortunately.

Ferada commented 5 years ago

Looks like only demo failures now:

STYLE-WARNING: Undefined alien: "gdk_pixbuf_get_options"
STYLE-WARNING: Undefined alien: "gdk_pixbuf_get_options"
STYLE-WARNING: Undefined alien: "gdk_pixbuf_get_options"
STYLE-WARNING: Undefined alien: "gdk_pixbuf_get_options"
STYLE-WARNING: Undefined alien: "gdk_pixbuf_get_options"
STYLE-WARNING: Undefined alien: "gdk_pixbuf_get_options"
STYLE-WARNING: Undefined alien: "gtk_flow_box_get_child_at_pos"
STYLE-WARNING: Undefined alien: "gtk_flow_box_bind_model"
STYLE-WARNING: Undefined alien: "gtk_popover_popup"
STYLE-WARNING: Undefined alien: "gtk_popover_popdown"
STYLE-WARNING: Undefined alien: "gtk_popover_get_default_widget"
STYLE-WARNING: Undefined alien: "gtk_popover_set_default_widget"
STYLE-WARNING: Undefined alien: "gtk_places_sidebar_set_drop_targets_visible"
Unhandled UIOP/RUN-PROGRAM:SUBPROCESS-ERROR in thread #<SB-THREAD:THREAD "main thread" RUNNING {10005305B3}>: Subprocess #<UIOP/LAUNCH-PROGRAM::PROCESS-INFO {100A433403}>
 with command ("cc" "-o" "/tmp/tmpVTFK6ZJW-tmp75WVSJEW.tmp" "-c" "-g" "-Wall" "-Wundef" "-Wsign-compare" "-Wpointer-arith" "-O3" "-D_LARGEFILE_SOURCE" "-D_LARGEFILE64_SOURCE" "-D_FILE_OFFSET_BITS=64" "-Wunused-parameter" "-fno-omit-frame-pointer" "-momit-leaf-frame-pointer" "-Wall" "-std=c99" "-pedantic" "-pthread" "-I/usr/include/gtk-3.0" "-I/usr/include/at-spi2-atk/2.0" "-I/usr/include/at-spi-2.0" "-I/usr/include/dbus-1.0" "-I/usr/lib/x86_64-linux-gnu/dbus-1.0/include" "-I/usr/include/gtk-3.0" "-I/usr/include/gio-unix-2.0/" "-I/usr/include/cairo" "-I/usr/include/pango-1.0" "-I/usr/include/harfbuzz" "-I/usr/include/pango-1.0" "-I/usr/include/atk-1.0" "-I/usr/include/cairo" "-I/usr/include/pixman-1" "-I/usr/include/freetype2" "-I/usr/include/libpng12" "-I/usr/include/gdk-pixbuf-2.0" "-I/usr/include/libpng12" "-I/usr/include/glib-2.0" "-I/usr/lib/x86_64-linux-gnu/glib-2.0/include" "" "-fPIC" "/home/quicklisp/quicklisp-controller/dist/build-cache/cl-cffi-gtk/06c713ee7cef0c5a60142a4bfd0fdcc6c7c5f21e/cl-cffi-gtk-20181129-git/demo/gtk-demo/subclass.c")
 exited with error code 1

Checking.

Ferada commented 5 years ago

Pushed one more to get rid of the error and some of the undefined aliens.


-pedantic was making the exit status non-zero because of an unused parameter.


Ferada commented 5 years ago

Argh, that wasn't it. The pkg-config in the Docker image returns a spurious space at the end of the invocation and cc chokes on that. Fix incoming.

Ferada commented 5 years ago

And now glib is still too old to support a macro. Another fix pushed.

Ferada commented 5 years ago

@quicklisp it runs through for me now with the quicklisp/quicklisp-base:debian8 image, manually loaded into SBCL, I hope that works now for you too.