X-Recipient: archive-cygwin AT delorie DOT com X-Spam-Check-By: sourceware.org X-Authenticated: #51026391 Message-ID: <00e501c9571e$0be85260$3201a8c0@aew2knew> From: "sowiso" To: Subject: L.inker errors in compiling l.atest G.T.K.+ Date: Fri, 5 Dec 2008 22:11:30 +0100 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit X-Y-GMX-Trusted: 0 X-FuHaFi: 0.45 Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com [I apologize for the ugly subject format, but after running 3 times into the spam script, I was getting tired of it. Sourceware should really fix its broken detection routines.] Hi, I'm simply unable to build latest GTK+ (2.14.5) on cygwin atm. I have a bit of building experience, though, so it might simply be a Cygwin-specific thing I don't know about. (NOTE: This may be a long post.) First of all, the GTK+ tree seems to have some bugs: [0] Preamble: -lintl is always linked in TWICE - this is nonsense. Commenting out LIBS = -lintl in the Makefile(s) did the trick. [1] BOTH -export-symbols and -export-symbols-regex were specified. This lead to a fatal error, since these are mutually exclusive an must not be specified at the very same time. #Commenting out the line LIBTOOL_EXPORT_OPTIONS = -export-symbols-regex "^[^_].*" let me continue without problems. [2] On Cygwin, WINDRES environment variable in gdk/win32/rc was not recognized, transforming this line in the Makefile: $(WINDRES) gdk.rc $@ to gdk.rc $@ This resulted in lots of ugly errors. When completing the line WINDRES = /usr/bin/windres in the parent Makefile, everything worked up to ... [3] ... this point. Lots of coffee breaks later, it breaks off at this LONG line: libtool: link: if test "x`/usr/bin/sed 1q ./gdk.def`" = xEXPORTS; then cp ./gdk.def .libs/cyggdk-win32-2.0-0.dll.def; else echo EXPORTS > .libs/cyggdk-win32-2.0-0.dll.def; cat ./gdk.def >> .libs/cyggdk-win32-2.0-0.dll.def; fi libtool: link: gcc -shared .libs/cyggdk-win32-2.0-0.dll.def .libs/gdk.o .libs/gdkapplaunchcontext.o .libs/gdkcairo.o .libs/gdkcolor.o .libs/gdkcursor.o .libs/gdkdisplay.o .libs/gdkdisplaymanager.o .libs/gdkdnd.o .libs/gdkdraw.o .libs/gdkevents.o .libs/gdkfont.o .libs/gdkgc.o .libs/gdkglobals.o .libs/gdkimage.o .libs/gdkkeys.o .libs/gdkkeyuni.o .libs/gdkpango.o .libs/gdkpixbuf-drawable.o .libs/gdkpixbuf-render.o .libs/gdkpixmap.o .libs/gdkpolyreg-generic.o .libs/gdkrectangle.o .libs/gdkregion-generic.o .libs/gdkrgb.o .libs/gdkscreen.o .libs/gdkselection.o .libs/gdkvisual.o .libs/gdkwindow.o .libs/gdkwindowimpl.o .libs/gdkenumtypes.o libs/gdkkeynames.o -Wl,--whole-archive win32/.libs/libgdk-win32.a -Wl,--no-whole-archive -L/usr/lib -limm32 -l shell32 -lole32 /usr/lib/libcairo.dll.a -lmsimg32 -lgdi32 /usr/lib/libpixman-1.dll.a -lpng12 /usr/lib/libXrender.dll.a /usr/lib/libX11.dll.a /usr/lib/libxcb-xlib.dll.a /usr/lib/libxcb.dll.a /usr/lib/libXau.dll.a /usr/lib/libXdmcp.dll.a /usr/lib/libfontconfig.dll.a /usr/lib/libexpat.dll.a /usr/lib/libfreetype.dll.a -lz ../gdk-pixbuf/.libs/libgdk_pixbuf-2.0.dll.a /usr/lib/libgio-2.0.dll.a /usr/lib/libgobject-2.0.dll.a /usr/lib/libgmodule-2.0.dll.a /usr/lib/libglib-2.0.dll.a -luser32 -lkernel32 /usr/lib/libintl.dll.a /usr/lib/libiconv.dll.a -Wl,win32/rc/gdk-win32-res.o -Wl,-luuid -o .libs/cyggdk-win32-2.0-0.dll -Wl,--enable-auto-image-base -Xlinker --out -implib -Xlinker .libs/libgdk-win32-2.0.dll.a Creating library file: .libs/libgdk-win32-2.0.dll.a .libs/gdkcolor.o: In function `gdk_color_to_string': /home/Administrator/build/gtk+-2.14.5/gdk/gdkcolor.c:376: undefined reference to `_pango_color_to_string' .libs/gdkcolor.o: In function `gdk_color_parse': /home/Administrator/build/gtk+-2.14.5/gdk/gdkcolor.c:340: undefined reference to `_pango_color_parse' [BIG SNIP - 50 undefined pango_* references later...] .libs/gdkpango.o: In function `gdk_pango_renderer_draw_glyphs': /home/Administrator/build/gtk+-2.14.5/gdk/gdkpango.c:251: undefined reference to `_pango_cairo_show_glyph_string' win32/.libs/libgdk-win32.a(gdkfont-win32.o): In function `gdk_font_from_description_for_display': /home/Administrator/build/gtk+-2.14.5/gdk/win32/gdkfont-win32.c:1246: undefined reference to `_pango_font_description_get_size' collect2: ld returned 1 exit status make[4]: *** [libgdk-win32-2.0.la] Error 1 make[4]: Leaving directory `/home/Administrator/build/gtk+-2.14.5/gdk' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/home/Administrator/build/gtk+-2.14.5/gdk' make[2]: *** [all] Error 2 make[2]: Leaving directory `/home/Administrator/build/gtk+-2.14.5/gdk' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/home/Administrator/build/gtk+-2.14.5' make: *** [all] Error 2 I do have a theory, though. Pango is trunk and has been built without problems, BUT ... As I could see, although _explicitly_ specifying --enable-shared --enable-static the libpango*.dll.a files are still from 2005. But probably the compiler *does* need this .dll.a badly! Yet I'm unable to build a .dll.a, instead I get: Warning: This system can not link to static lib archive /usr/lib/libpango-w32.1.0.la. I have the capability to make that library automatically link in where you link this library. But I can only do this if you have a shared version of the library, which you do not appear to have. Has anyone ever fiddled with this recently? I'd appreciate any help on this. Regards -Andreas -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/