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