Link with gtk3 libs at link time. Normally gtklos would try to load them at runtime but this wasn't working on macOS. https://github.com/egallesio/STklos/issues/353#issuecomment-1465229597 Look only for goocanvas2, not goocanvas3. MacPorts doesn't have goocanvas3 yet and I don't want this build to suddenly find and use goocanvas3 if it is added to MacPorts in the future. --- configure.orig 2023-03-12 11:10:11.000000000 -0500 +++ configure 2023-03-12 11:10:11.000000000 -0500 @@ -651,6 +651,7 @@ LTLIBOBJS GOOVERS GOOCANV +GTK_LIBS GTK_CFLAGS HAVE_CANVAS HAVE_GTK @@ -7245,6 +7246,7 @@ ## --- GTKLOS GTK_CFLAGS="" +GTK_LIBS="" HAVE_GTK=0 HAVE_CANVAS=0 GOOCANV=absent @@ -7254,11 +7256,12 @@ if ${PKGCONFIG} --exists gtk+-3.0 then GTK_CFLAGS=`${PKGCONFIG} --cflags gtk+-3.0` + GTK_LIBS=`${PKGCONFIG} --libs gtk+-3.0` HAVE_GTK=1 fi # Do we have goocanvas? -if ${PKGCONFIG} --exists goocanvas-3.0 +if false then GOOVERS=goocanvas-3.0 else @@ -7271,6 +7274,7 @@ if test "X${GOOVERS}" != "X" then GTK_CFLAGS=`${PKGCONFIG} --cflags ${GOOVERS}` + GTK_LIBS=`${PKGCONFIG} --libs ${GOOVERS}` HAVE_GTK=1 HAVE_CANVAS=1 GOOCANV=present --- extensions/gtklos/src/Makefile.in.orig 2021-11-24 07:45:27.000000000 -0600 +++ extensions/gtklos/src/Makefile.in 2023-03-12 11:12:06.000000000 -0500 @@ -203,6 +203,7 @@ GOOCANV = @GOOCANV@ GOOVERS = @GOOVERS@ GTK_CFLAGS = @GTK_CFLAGS@ +GTK_LIBS = @GTK_LIBS@ HAVE_CANVAS = @HAVE_CANVAS@ HAVE_DLOPEN = @HAVE_DLOPEN@ HAVE_GNOME = @HAVE_GNOME@ @@ -585,7 +586,7 @@ $(GTKFLAGS) \ -I$(BASEDIR)/src @GCINC@ @GMPINC@ \ -c -o $*.o $*.c - @SH_LOADER@ @SH_LOAD_FLAGS@ $*.@SH_SUFFIX@ $*.o @DLLIBS@ + @SH_LOADER@ @SH_LOAD_FLAGS@ $*.@SH_SUFFIX@ $*.o @DLLIBS@ $(GTK_LIBS) /bin/rm -f $*.o $(EXTENSION)-incl.c: $(EXTENSION).stk $(SCM_SRCS) --- extensions/gtklos/src/lib/libs.stk.orig 2021-09-29 03:34:58.000000000 -0500 +++ extensions/gtklos/src/lib/libs.stk 2023-03-12 11:10:11.000000000 -0500 @@ -35,8 +35,7 @@ (when-load-and-compile (define *gtk-library-path* (append (build-path-from-shell-variable "STKLOS_GTK_DIR") - '("/usr/lib" ;; Standard place - "/usr/local/lib" ;; Standard place (also used by MacOS Homebrew) + '("@PREFIX@/lib" ))) (define *gtk-library-suffix*