Franz Haeuslschmid wrote:

Dear readers of g.o.c.xfree,

Good.Old.Cygwin.Xfree?
>  gcc -shared .libs/cyggtk-x11-2.0-0.dll.def  .libs/fnmatch.o
> [...OBJECT FILE LIST...] -Wl,--whole-archive dgmime/.libs/libxdgmime.a
> -Wl,--no-whole-archive  -L/cygdrive/d/Src/gtk+-2.6.7/gdk-pixbuf/.libs
> -L/opt/cxclient/usr/X11R6/lib -L/usr/X11R6/lib -L/usr/local/lib
> -L/usr/lib ../gdk-pixbuf/.libs/libgdk_pixbuf-2.0.dll.a
> ../gdk/.libs/libgdk-x11-2.0.dll.a -lX11
> /usr/local/lib/libpangoxft-1.0.dll.a
> /usr/local/lib/libpangox-1.0.dll..a
> /usr/local/lib/libpango-1.0.dll.a
> /usr/local/lib/libatk-1.0.dll.a
> /usr/local/lib/libgobject-2.0.dll.a
> /usr/local/lib/libgmodule-2.0.dll.a
> /usr/local/lib/libglib-2.0.dll.a
> /usr/lib/libiconv.dll.a
> /usr/lib/libintl.dll.a
> -o ..libs/cyggtk-x11-2.0-0.dll -Wl,--image-base=0x10000000
> -Wl,--out-implib,.libs/libgtk-x11-2.0.dll.a
> Creating library file: .libs/libgtk-x11-2.0.dll.a
> ..libs/gtksettings.o: In function `gtk_default_substitute':
/cygdrive/d/Src/gtk+-2.6.7/gtk/gtksettings.c:157: undefined reference to 
`_FcPatternGet'
/cygdrive/d/Src/gtk+-2.6.7/gtk/gtksettings.c:161: undefined reference to 
`_FcPatternGet'
/cygdrive/d/Src/gtk+-2.6.7/gtk/gtksettings.c:209: undefined reference to 
`_FcPatternGet'
/cygdrive/d/Src/gtk+-2.6.7/gtk/gtksettings.c:210: undefined reference to 
`_FcPatternAddDouble'
/cygdrive/d/Src/gtk+-2.6.7/gtk/gtksettings.c:210: undefined reference to 
`_FcPatternGet'
/cygdrive/d/Src/gtk+-2.6.7/gtk/gtksettings.c:206: undefined reference to 
`_FcPatternAddInteger'
/cygdrive/d/Src/gtk+-2.6.7/gtk/gtksettings.c:163: undefined reference to 
`_FcPatternAddBool'
/cygdrive/d/Src/gtk+-2.6.7/gtk/gtksettings.c:159: undefined reference to 
`_FcPatternAddBool'
Info: resolving _gdk_threads_lock by linking to __imp__gdk_threads_lock 
(auto-import)
Info: resolving _gdk_threads_unlock by linking to __imp__gdk_threads_unlock 
(auto-import)
collect2: ld returned 1 exit status
make[2]: *** [libgtk-x11-2.0.la] Error 1
make[2]: Leaving directory `/cygdrive/d/Src/gtk+-2.6.7/gtk'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/cygdrive/d/Src/gtk+-2.6.7/gtk'
make: *** [all] Error 2


The build tools in use are those, that are officially available
at the cygwin site.

There is libfontconfig missing at the link command.
See this and other changes in the patch of the last released Cygwin
version, I attached the minimal set of changes needed to build 2.4.14.
After applying these changes, you'll need to run automake or adopt
the changes and include them directly in Makefile.in instead of
changing Makefile.am.


Gerrit
--
=^..^=
diff -purN -x .build -x .inst -x .sinst -x INSTALL -x COPYING 
gtk+-2.4.14-orig/contrib/gdk-pixbuf-xlib/Makefile.am 
gtk+-2.4.14/contrib/gdk-pixbuf-xlib/Makefile.am
--- gtk+-2.4.14-orig/contrib/gdk-pixbuf-xlib/Makefile.am        2004-03-03 
21:53:23.000000000 +0100
+++ gtk+-2.4.14/contrib/gdk-pixbuf-xlib/Makefile.am     2004-12-30 
21:06:41.444488000 +0100
@@ -9,7 +9,7 @@ INCLUDES = \
        $(GDK_PIXBUF_XLIB_DEP_CFLAGS)
 
 libgdk_pixbuf_xlib_2_0_la_LDFLAGS =         \
-       -export-dynamic                                         \
+       -export-dynamic  -no-undefined  \
        -version-info $(LT_VERSION_INFO)
 
 libgdk_pixbuf_xlib_2_0_la_LIBADD = \

diff -purN -x .build -x .inst -x .sinst -x INSTALL -x COPYING 
gtk+-2.4.14-orig/gtk/Makefile.am gtk+-2.4.14/gtk/Makefile.am
--- gtk+-2.4.14-orig/gtk/Makefile.am    2004-02-28 00:51:14.000000000 +0100
+++ gtk+-2.4.14/gtk/Makefile.am 2004-12-30 21:06:42.526043200 +0100
@@ -77,7 +77,7 @@ libgtkincludedir = $(includedir)/gtk-2.0
 libadd =                                                               \
        $(top_builddir)/gdk-pixbuf/libgdk_pixbuf-$(GTK_API_VERSION).la  \
        $(top_builddir)/gdk/$(gdktargetlib)                             \
-       $(GTK_DEP_LIBS)
+       $(GTK_DEP_LIBS) -lfontconfig
 
 if OS_UNIX
 libadd += xdgmime/libxdgmime.la

Reply via email to