Re: yet another windows compilation request

Hi Jeffrey,

Have you looked at Brian Mannings page her?:

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:


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. 


- Jeffrey

-----Original Message-----
From: gtk-perl-list-bounces gnome org
[mailto:gtk-perl-list-bounces 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


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:

cp build/pango-perl-autogen.h
blib\arch/Pango/Install/pango-perl-autogen.h cp build/
blib\arch/Pango/Install/ cp build/pango-perl-versions.h
blib\arch/Pango/Install/pango-perl-versions.h cp
blib\arch/Pango/Install/pango.typemap cp doctypes
blib\arch/Pango/Install/doctypes cp lib/ blib\lib/ cp
pango-perl.h blib\arch/Pango/Install/pango-perl.h cp
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
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
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
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
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
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
xs/PangoMatrix.o:PangoMatrix.c:(.text+0x485): undefined reference to
xs/PangoMatrix.o:PangoMatrix.c:(.text+0x714): undefined reference to
xs/PangoMatrix.o:PangoMatrix.c:(.text+0x735): undefined reference to
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

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,


gtk-perl-list mailing list
gtk-perl-list gnome org

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]