After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 371464 - Gtk2 doesn't compile with cygwin (patch included)
Gtk2 doesn't compile with cygwin (patch included)
Status: RESOLVED FIXED
Product: gnome-perl
Classification: Bindings
Component: Gtk2
unspecified
Other Windows
: Normal major
: ---
Assigned To: gtk2-perl-bugs
gtk2-perl-bugs
Depends on:
Blocks:
 
 
Reported: 2006-11-06 10:50 UTC by Dirk Froemberg
Modified: 2008-10-19 12:09 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch for Gtk2-1.140 to work with cygwin (1003 bytes, patch)
2006-11-06 10:52 UTC, Dirk Froemberg
none Details | Review

Description Dirk Froemberg 2006-11-06 10:50:45 UTC
Hi!

Trying to build Gtk2-1.140 under cygwin generates a lot of errors such as

xs/GtkMenuToolButton.o:GtkMenuToolButton.c:(.text+0x95f): undefined reference to `_gperl_get_object_check'
xs/GtkMenuToolButton.o:GtkMenuToolButton.c:(.text+0xb71): undefined reference to `_gperl_get_object_check'
xs/GtkMenuToolButton.o:GtkMenuToolButton.c:(.text+0xbab): more undefined references to `_gperl_get_object_check' follow

The win32 linker needs all symbols resolved at link time. So libGlib.dll.a has to be supplied to EXTRALIBS and LDLOADLIBS.

The patch for find_extra_libs() in Makefile.PL tries to find the library similar to MSWin32. Adding a simple file (e. g. /usr/lib/perl5/site_perl/5.8/cygwin/auto/Glib/libGlib.dll.a) to set_libs() doesn't work for me so it has to be split in arguments for -L and -l.

Best regards Dirk
Comment 1 Dirk Froemberg 2006-11-06 10:52:37 UTC
Created attachment 76075 [details] [review]
patch for Gtk2-1.140 to work with cygwin
Comment 2 Torsten Schoenfeld 2006-11-07 22:24:12 UTC
Thanks for the report and the patch.  Maybe now it's finally time to roll this into ExtUtils::Depends properly.  There's already a find_extra_libs in EU::Depends but it looks like it still needs some work before it can be used.  Once this is fixed though, the line in get_makefile_vars referring to it can be uncommented and we should have this working for every module that uses EU::Depends.

Unless you beat me to it, I'll look into it.
Comment 3 Torsten Schoenfeld 2008-10-19 12:09:28 UTC
I think this is fixed in ExtUtils::Depends 0.301.  Please reopen this bug if you still see the problem.