Re: yet another windows compilation request



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-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

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







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