Re: [client] spicy: Spicy uses GTK+ and must link with it

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Feb 24, 2017 at 12:23:23PM +0100, Francois Gouget wrote:
> This avoids having the linker complain that gtk_toggle_action_get_type()
> or some other GTK+ API is undefined.

This kind of issues are indeed seen on some distros, and not others.
I believe this is what is described on
https://wiki.mageia.org/en/Underlinking_issues_in_packaging

spicy directly uses symbols from gtk+, so it should explicitly link with
it. This wiki page says this should be reproducible using
-Wl,--as-needed, but this did not make a difference for me as -lgtk-3 is
listed in libspice-client-gtk-3.0.la, and libtool uses this when linking
spicy.

However, spicy-stats uses glib/gobject, and does not explicitly link
with it either, I would have expected something like the patch below, but
this can actually be done on top of your patch.

Acked-by: Christophe Fergeau <cfergeau@xxxxxxxxxx>
even though I would have liked to be able to reproduce the issue :-/


diff --git a/tools/Makefile.am b/tools/Makefile.am
index 0bdb3c5..0b3df78 100644
--- a/tools/Makefile.am
+++ b/tools/Makefile.am
@@ -12,6 +12,12 @@ TOOLS_CPPFLAGS =                     \
        $(SPICE_CFLAGS)                 \
        $(NULL)

+TOOLS_LIBS =                           \
+       $(GLIB2_LIBS)                   \
+       $(GOBJECT2_LIBS)                \
+       $(top_builddir)/src/libspice-client-glib-2.0.la \
+       $(NULL)
+
 if WITH_GTK
 bin_PROGRAMS += spicy
 TOOLS_CPPFLAGS += $(GTK_CFLAGS)
@@ -26,8 +32,9 @@ spicy_SOURCES =                               \
        $(NULL)

 spicy_LDADD =                          \
+       $(TOOLS_LIBS)                   \
+       $(GTK_LIBS)                     \
        $(top_builddir)/src/libspice-client-gtk-3.0.la  \
-       $(top_builddir)/src/libspice-client-glib-2.0.la \
        $(NULL)

 # FIXME: GtkAction and lots of GtkUIManager APIs are deprecated
@@ -44,8 +51,7 @@ spicy_screenshot_SOURCES =            \
        $(NULL)

 spicy_screenshot_LDADD =               \
-       $(top_builddir)/src/libspice-client-glib-2.0.la \
-       $(GOBJECT2_LIBS)                \
+       $(TOOLS_LIBS)                   \
        $(NULL)

 spicy_screenshot_CPPFLAGS =            \
@@ -59,7 +65,7 @@ spicy_stats_SOURCES =                 \
        $(NULL)

 spicy_stats_LDADD =                    \
-       $(top_builddir)/src/libspice-client-glib-2.0.la \
+       $(TOOLS_LIBS)                   \
        $(NULL)

 spicy_stats_CPPFLAGS =                 \


Christophe


> 
> Signed-off-by: Francois Gouget <fgouget@xxxxxxxxxxxxxxx>
> ---
>  tools/Makefile.am | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/tools/Makefile.am b/tools/Makefile.am
> index 0bdb3c54..e41e0ab5 100644
> --- a/tools/Makefile.am
> +++ b/tools/Makefile.am
> @@ -28,6 +28,7 @@ spicy_SOURCES =				\
>  spicy_LDADD =				\
>  	$(top_builddir)/src/libspice-client-gtk-3.0.la	\
>  	$(top_builddir)/src/libspice-client-glib-2.0.la	\
> +	$(GTK_LIBS) \
>  	$(NULL)
>  
>  # FIXME: GtkAction and lots of GtkUIManager APIs are deprecated
> -- 
> 2.11.0
> 
> _______________________________________________
> Spice-devel mailing list
> Spice-devel@xxxxxxxxxxxxxxxxxxxxx
> https://lists.freedesktop.org/mailman/listinfo/spice-devel

Attachment: signature.asc
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
https://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]