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

Reply via email to