Since Fedora 13, we changed the way we handle implicit DSO linking:
http://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking
To make it short (and probably half-true), libs must now be specified explicitly to the linker. More complete informations available at the above feature page or below:
https://fedoraproject.org/wiki/UnderstandingDSOLinkChange
Because of that, building wncksync fails on Fedora 13 with the following error message:
libtool: link: gcc -Wall -std=c99 -DDATADIR=\"/usr/share\" -pthread -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gio-unix-2.0/ -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -pthread -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -pthread -I/usr/include/libwnck-1.0 -I/usr/include/pango-1.0 -I/usr/include/cairo -I/usr/include/startup-notification-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gtk-2.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/libgtop-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/gnome-menus -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic -Wl,-export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions -o wncksyncdaemon wncksyncdaemon-main.o wncksyncdaemon-wncksyncdbus.o wncksyncdaemon-windowmatcher.o -pthread -pthread -pthread -pthread -lm -L/lib64 -ldbus-glib-1 -ldbus-1 -lpthread -lwnck-1 -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lcairo -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lgtop-2.0 -lgnome-menu -lglib-2.0 -pthread
/usr/bin/ld: wncksyncdaemon-windowmatcher.o: undefined reference to symbol 'XFree'
/usr/bin/ld: note: 'XFree' is defined in DSO /usr/lib64/libX11.so.6 so try adding it to the linker command line
/usr/lib64/libX11.so.6: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
make[3]: *** [wncksyncdaemon] Error 1
make[3]: Leaving directory `/home/bochecha/Fedora/rpmbuild/BUILD/wncksync-0.2.8/src'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/bochecha/Fedora/rpmbuild/BUILD/wncksync-0.2.8/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/bochecha/Fedora/rpmbuild/BUILD/wncksync-0.2.8'
make: *** [all] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.VuQmul (%build)
The following fixes the issue (though there's probably a much "cleaner" way to do that with autotools magic) : "$CFLAGS -lm -lX11"/g' configure
sed -i 's/CFLAGS="$CFLAGS -lm"/CFLAGS=
Now I'm falling on bug #529682, but that's a different story.