Hi Jeffrey, > Have you looked at Brian Mannings page her?: > http://code.google.com/p/camelbox/wiki/BuildCoreGtk > > He outlines the steps he used to build Gtk for his camelbox > installer. I followed those instructions and got it working on > Strawberry perl 5.14. I think the errors you are seeing is because > you need to at add these libraries to EXTRALIBS and LDLOADLIBS in > your Makefile: > > C:\path\to\perl\lib\libCairoPerl.a > C:\path\to\perl\lib\libGlibPerl.a
Yes, that was it. Thanks for the quick and accurate reply, and thanks to Brian for the details that I needed. Most of the Makefile edits he mentions were not necessary for me, but generating the libFooPerl.a libraries for subsequent linking was the key, and I would never have figured that out on my own. I thought I remembered that these were created automatically in the past, and just needed to be added to EXTRALIBS etc, but it may be that I was using a different development environment back then. Incidentally, I found the gtk2-perl build experience much improved since the last time I was working in a Windows environment several years ago. Jeremy > > - Jeffrey > > -----Original Message----- > From: gtk-perl-list-boun...@gnome.org > [mailto:gtk-perl-list-boun...@gnome.org] On Behalf Of J Volkening > Sent: Wednesday, August 08, 2012 1:07 PM To: gtk-perl-list@gnome.org > Subject: yet another windows compilation request > > Hello, > > I'm attempting to compile Gtk2-perl against perl 5.12 on Windows > Vista using MinGW/dmake. I have installed the GTK+2.24.10 Windows > binary/dev bundle and compiled and installed (via PPD creation) > ExtUtils-Depends-0.302, ExtUtils-PkgConfig-1.13, Glib-1.262, and > Cairo-1.101 without problems. However, on trying to compile > Pango-1.223 with dmake I get the following errors: > > > c:\gtk2_build\Pango-1.223>dmake > cp build/pango-perl-autogen.h > blib\arch/Pango/Install/pango-perl-autogen.h cp build/IFiles.pm > blib\arch/Pango/Install/Files.pm cp build/pango-perl-versions.h > blib\arch/Pango/Install/pango-perl-versions.h cp > C:\gtk2_build\Pango-1.223\pango.typemap > blib\arch/Pango/Install/pango.typemap cp doctypes > blib\arch/Pango/Install/doctypes cp lib/Pango.pm blib\lib/Pango.pm cp > pango-perl.h blib\arch/Pango/Install/pango-perl.h cp > C:\gtk2_build\Pango-1.223\build\pango-perl.typemap > blib\arch/Pango/Install/pango-perl.typemap [ XS xs\Pango.xs ] [ CC > xs\Pango.c ] [ XS xs\PangoAttributes.xs ] [ CC xs\PangoAttributes.c ] > [ XS xs\PangoContext.xs ] [ CC xs\PangoContext.c ] [ XS > xs\PangoFont.xs ] [ CC xs\PangoFont.c ] > [ XS xs\PangoFontset.xs ] > [ CC xs\PangoFontset.c ] > [ XS xs\PangoFontMap.xs ] > [ CC xs\PangoFontMap.c ] > [ XS xs\PangoLayout.xs ] > [ CC xs\PangoLayout.c ] > [ XS xs\PangoRenderer.xs ] > [ CC xs\PangoRenderer.c ] > [ XS xs\PangoScript.xs ] > [ CC xs\PangoScript.c ] > [ XS xs\PangoTabs.xs ] > [ CC xs\PangoTabs.c ] > [ XS xs\PangoTypes.xs ] > [ CC xs\PangoTypes.c ] > [ XS xs\PangoCairo.xs ] > [ CC xs\PangoCairo.c ] > [ XS xs\PangoGravity.xs ] > [ CC xs\PangoGravity.c ] > [ XS xs\PangoMatrix.xs ] > [ CC xs\PangoMatrix.c ] > Running Mkbootstrap for Pango () > C:\Perl\bin\perl.exe -MExtUtils::Command -e "chmod" -- 644 Pango.bs > C:\Perl\bin\perl.exe -MExtUtils::Mksymlists \ -e > "Mksymlists('NAME'=>\"Pango\", 'DLBASE' => 'Pango', 'DL_FUNCS' => > { Pango=>[] }, 'FUNCLIST' => [q[newSVPangoRect angle], > q[SvPangoRectangle], q[gtk2perl_pango_attribute_get_type], > q[gtk2perl_pango_attribute_register_custom_type], q[g > tk2perl_pango_attr_iterator_get_type], > q[gtk2perl_pango_layout_iter_get_type], > q[gtk2perl_pango_layout_line_get_type], q > [gtk2perl_pango_script_iter_get_type]], 'IMPORTS' => { }, 'DL_VARS' > => []);" Set up gcc environment - 4.7.0 dlltool --def Pango.def > --output-exp dll.exp [ LD blib\arch\auto\Pango\Pango.dll ] > xs/Pango.o:Pango.c:(.text+0x58c): undefined reference to > `_gperl_register_fundamental' xs/Pango.o:Pango.c:(.text+0x5a9): > undefined reference to `_gperl_register_boxed' > xs/Pango.o:Pango.c:(.text+0x5be): undefined reference to > `_gperl_register_fundamental' xs/Pango.o:Pango.c:(.text+0x5db): > undefined reference to `_gperl_register_boxed' > xs/Pango.o:Pango.c:(.text+0x5f0): undefined reference to > `_gperl_register_object' xs/Pango.o:Pango.c:(.text+0x605): undefined > reference to `_gperl_register_fundamental' > > (many similar lines removed) > > xs/PangoCairo.o:PangoCairo.c:(.text+0x172a): undefined reference to > `_gperl_get_object_check' > xs/PangoCairo.o:PangoCairo.c:(.text+0x175d): undefined reference to > `_cairo_object_to_sv' xs/PangoCairo.o:PangoCairo.c:(.text+0x183e): > undefined reference to `_gperl_get_object_check' > xs/PangoCairo.o:PangoCairo.c:(.text+0x1861): undefined reference to > `_cairo_font_type_to_sv' xs/PangoCairo.o:PangoCairo.c:(.text+0x1938): > undefined reference to `_cairo_font_type_from_sv' > xs/PangoCairo.o:PangoCairo.c:(.text+0x197a): undefined reference to > `_gperl_new_object' xs/PangoCairo.o:PangoCairo.c:(.text+0x1a5a): > undefined reference to `_gperl_get_object_check' > xs/PangoCairo.o:PangoCairo.c:(.text+0x1a8a): undefined reference to > `_gperl_new_object' xs/PangoCairo.o:PangoCairo.c:(.text+0x1bff): > undefined reference to `_gperl_get_object_check' > xs/PangoCairo.o:PangoCairo.c:(.text+0x1d39): undefined reference to > `_gperl_get_object_check' > xs/PangoCairo.o:PangoCairo.c:(.text+0x1e75): undefined reference to > `_gperl_new_object' xs/PangoCairo.o:PangoCairo.c:(.text+0x1f69): > undefined reference to `_gperl_new_object' > xs/PangoCairo.o:PangoCairo.c:(.text+0x24c2): undefined reference to > `_gperl_set_isa' xs/PangoGravity.o:PangoGravity.c:(.text+0x73): > undefined reference to `_gperl_convert_enum' > xs/PangoGravity.o:PangoGravity.c:(.text+0x99): undefined reference to > `_gperl_convert_enum' xs/PangoGravity.o:PangoGravity.c:(.text+0xbf): > undefined reference to `_gperl_convert_enum' > xs/PangoGravity.o:PangoGravity.c:(.text+0xf3): undefined reference to > `_gperl_convert_back_enum' > xs/PangoGravity.o:PangoGravity.c:(.text+0x1d6): undefined reference > to `_gperl_get_boxed_check' > xs/PangoGravity.o:PangoGravity.c:(.text+0x202): undefined reference > to `_gperl_convert_back_enum' > xs/PangoGravity.o:PangoGravity.c:(.text+0x30d): undefined reference > to `_gperl_convert_enum' > xs/PangoGravity.o:PangoGravity.c:(.text+0x444): undefined reference > to `_gperl_convert_enum' xs/PangoMatrix.o:PangoMatrix.c:(.text+0x7e): > undefined reference to `_gperl_get_boxed_check' > xs/PangoMatrix.o:PangoMatrix.c:(.text+0x1f1): undefined reference to > `_gperl_get_boxed_check' > xs/PangoMatrix.o:PangoMatrix.c:(.text+0x485): undefined reference to > `_gperl_get_boxed_check' > xs/PangoMatrix.o:PangoMatrix.c:(.text+0x714): undefined reference to > `_gperl_get_boxed_check' > xs/PangoMatrix.o:PangoMatrix.c:(.text+0x735): undefined reference to > `_gperl_get_boxed_check' > xs/PangoMatrix.o:PangoMatrix.c:(.text+0x7fd): more undefined > references to `_gperl_get_boxed_check' follow > xs/PangoMatrix.o:PangoMatrix.c:(.text+0xea4): undefined reference to > `_gperl_new_boxed' xs/PangoMatrix.o:PangoMatrix.c:(.text+0x1077): > undefined reference to `_gperl_get_boxed_check' collect2.exe: error: > ld returned 1 exit status dmake: Error code 129, while making > 'blib\arch\auto\Pango\Pango.dll' > > > I have checked the Makefile, which includes this line: > > INC = -mms-bitfields -Ic:/gtk/include/pango-1.0 > -Ic:/gtk/include/glib-2.0 -Ic:/gtk/lib/glib-2.0/include -I./build > -Ic:/gtk/include/cairo -Ic:/gtk/include -Ic:/gtk/include/freetype2 > -Ic:/gtk/include/libpng14 -IC:\Perl\site\lib\Glib\Install -I. > -IC:\Perl\site\lib\Cairo\Install -Ibuild > > and within C:\Perl\site\lib\Glib\Install\gperl.h (and the > corresponding Cairo file) seem to be all of the definitions mentioned > in the errors. I've searched through the mailing lists but haven't > seen any reference to an identical problem. Can anyone shed light on > this issue and any possible workarounds? Thanks, > > Jeremy > > _______________________________________________ > gtk-perl-list mailing list > gtk-perl-list@gnome.org > https://mail.gnome.org/mailman/listinfo/gtk-perl-list > > _______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-perl-list