And (sorry for spamming) a wdiff might be more readable:
/bin/bash ../libtool --tag=CC --mode=link gcc -DGETTEXT_PACKAGE=\"lightdm-gtk-greeter\" -DLOCALEDIR=\""/usr/share/locale"\" -DGREETER_DATA_DIR=\"""\" -DCONFIG_FILE=\""/lightdm-gtk-greeter.conf"\" -DGSEAL_ENABLE -pthread -I/usr/include/gtk-3.0 -I/usr/include/atk-1.0 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/gio-unix-2.0/ -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include/lightdm-gobject-1 -I/usr/include/cairo -I/usr/include/libxml2 -Wall -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -g -O2 -fPIE -fstack-protector --param=ssp-buffer-size=4 -Wformat -Wformat-security -Werror=format-security -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-O1 -o lightdm-gtk-greeter lightdm_gtk_greeter-lightdm-gtk-greeter.o -pthread -Wl,--export-dynamic -lgtk-3 -lgdk-3 -latk-1.0 {+-lgio-2.0+} -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lcairo -lpango-1.0 -lfreetype -lfontconfig [--lX11 -llightdm-gobject-1 -lgio-2.0-] -lgobject-2.0 -lgthread-2.0 {+-lX11 -llightdm-gobject-1+} -lgmodule-2.0 -lrt -lglib-2.0
So it might just be that the ordering is wrong. Moving gio-2.0 to Requires: moves it more in front and especially *before* -llightdm-gobject-1. So maybe this should be changed in lightdm-gtk-greeter Makefiles.
And (sorry for spamming) a wdiff might be more readable:
/bin/bash ../libtool --tag=CC --mode=link gcc -DGETTEXT_ PACKAGE= \"lightdm- gtk-greeter\ " -DLOCALEDIR= \""/usr/ share/locale" \" -DGREETER_ DATA_DIR= \"""\" -DCONFIG_ FILE=\" "/lightdm- gtk-greeter. conf"\" -DGSEAL_ENABLE -pthread -I/usr/ include/ gtk-3.0 -I/usr/ include/ atk-1.0 -I/usr/ include/ gdk-pixbuf- 2.0 -I/usr/ include/ pango-1. 0 -I/usr/ include/ gio-unix- 2.0/ -I/usr/ include/ glib-2. 0 -I/usr/ lib/x86_ 64-linux- gnu/glib- 2.0/include -I/usr/ include/ pixman- 1 -I/usr/ include/ freetype2 -I/usr/ include/ libpng12 -I/usr/ include/ lightdm- gobject- 1 -I/usr/ include/ cairo -I/usr/ include/ libxml2 -Wall -Wmissing- prototypes -Wnested-externs -Wpointer-arith -Wno-sign-compare -g -O2 -fPIE -fstack-protector --param= ssp-buffer- size=4 -Wformat -Wformat-security -Werror= format- security -fPIE -pie -Wl,-z,relro -Wl,-z,now -Wl,--as-needed -Wl,-O1 -o lightdm-gtk-greeter lightdm_ gtk_greeter- lightdm- gtk-greeter. o -pthread -Wl,--export- dynamic -lgtk-3 -lgdk-3 -latk-1.0 {+-lgio-2.0+} -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lcairo-gobject -lcairo -lpango-1.0 -lfreetype -lfontconfig [--lX11 -llightdm-gobject-1 -lgio-2.0-] -lgobject-2.0 -lgthread-2.0 {+-lX11 -llightdm- gobject- 1+} -lgmodule-2.0 -lrt -lglib-2.0
So it might just be that the ordering is wrong. Moving gio-2.0 to Requires: moves it more in front and especially *before* -llightdm- gobject- 1. So maybe this should be changed in lightdm-gtk-greeter Makefiles.