Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^2: RFC: Compiling Gtk+ stack on windows with strawberry perl

by mtl3 (Novice)
on Sep 23, 2017 at 11:20 UTC ( #1199958=note: print w/replies, xml ) Need Help??


in reply to Re: RFC: Compiling Gtk+ stack on windows with strawberry perl
in thread Compiling Gtk+ stack on windows with strawberry perl

So far, I've been able to answer my perl questions without even posting thanks to the Monks' wisdom, but this gtk+ installation problem remains clueless to me despite the kind post of frazap to share his experience (thanks!). So here I go.

First, I'm running Strawberry Perl (64-bit) 5.26.0.2-64bit and my gtk+ version is 2.24.10.

I followed the recipe up until launching the perl commands. Eg.

c:\strawberry_perl\cpan\build\Cairo-1.106-0>echo %PKG_CONFIG_PATH%

C:\strawberry_perl\c\lib\pkgconfig ; C:\Program Files\gtk+\lib\pkgconfig

c:\strawberry_perl\cpan\build\Cairo-1.106-0>echo %PATH%

…;C:\strawberry_perl\c\bin;C:\strawberry_perl\perl\site\bin;C:\strawberry_perl\perl\bin\;C:\gtk+\bin

Starting with Cairo: launch the perl command > fine.

Running dmake: Strawberry complains that I should no longer use dmake but gmake. Fair enough, launch gamke instead and get “undefined reference” errors. Your help and wisdom would be greatly appreciated.

c:\strawberry_perl\cpan\build\Cairo-1.106-0>gmake

gmake

"C:\strawberry_perl\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_n +onempty -- Cairo.bs blib\arch\auto\Cairo\Cairo.bs 644 g++ Cairo.def -o blib\arch\auto\Cairo\Cairo.xs.dll -mdll -s -L"C:\STRA +WB~1\perl\lib\CORE" -L"C:\STRAWB~1\c\lib" Cairo.o CairoFont.o CairoMa +trix.o CairoPath.o CairoPattern.o CairoSurface.o CairoRegion.o CairoF +t.o cairo-perl-enums.o cairo-perl-flags.o "C:\STRAWB~1\perl\lib\COR +E\libperl526.a" "C:\gtk+\lib\pkgconfig\..\..\lib\libcairo.dll.a" "C:\ +STRAWB~1\c\lib\libfreetype.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\l +ibmoldname.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libkernel32.a" "C +:\STRAWB~1\c\x86_64-w64-mingw32\lib\libuser32.a" "C:\STRAWB~1\c\x86_6 +4-w64-mingw32\lib\libgdi32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\l +ibwinspool.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libcomdlg32.a" "C +:\STRAWB~1\c\x86_64-w64-mingw32\lib\libadvapi32.a" "C:\STRAWB~1\c\x86 +_64-w64-mingw32\lib\libshell32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\l +ib\libole32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\liboleaut32.a" " +C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libnetapi32.a" "C:\STRAWB~1\c\x8 +6_64-w64-mingw32\lib\libuuid.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib +\libws2_32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libmpr.a" "C:\STR +AWB~1\c\x86_64-w64-mingw32\lib\libwinmm.a" "C:\STRAWB~1\c\x86_64-w64- +mingw32\lib\libversion.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libod +bc32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libodbccp32.a" "C:\STRA +WB~1\c\x86_64-w64-mingw32\lib\libcomctl32.a" -Wl,--enable-auto-image- +base Cairo.o:Cairo.c:(.text+0x5a2): undefined reference to `cairo_version_s +tring' Cairo.o:Cairo.c:(.text+0x694): undefined reference to `cairo_version' Cairo.o:Cairo.c:(.text+0xa98): undefined reference to `cairo_status' Cairo.o:Cairo.c:(.text+0xb6e): undefined reference to `cairo_append_pa +th' Cairo.o:Cairo.c:(.text+0xc08): undefined reference to `cairo_copy_path +_flat' Cairo.o:Cairo.c:(.text+0xcc8): undefined reference to `cairo_copy_path +' Cairo.o:Cairo.c:(.text+0xd88): undefined reference to `cairo_get_group +_target' Cairo.o:Cairo.c:(.text+0xd90): undefined reference to `cairo_surface_r +eference' Cairo.o:Cairo.c:(.text+0xe58): undefined reference to `cairo_get_targe +t' Cairo.o:Cairo.c:(.text+0xe60): undefined reference to `cairo_surface_r +eference' Cairo.o:Cairo.c:(.text+0xf37): undefined reference to `cairo_get_dash_ +count' Cairo.o:Cairo.c:(.text+0xf7d): undefined reference to `cairo_get_dash' Cairo.o:Cairo.c:(.text+0x1073): undefined reference to `cairo_get_dash +' Cairo.o:Cairo.c:(.text+0x115f): undefined reference to `cairo_get_mite +r_limit' Cairo.o:Cairo.c:(.text+0x1278): undefined reference to `cairo_get_line +_join' Cairo.o:Cairo.c:(.text+0x1338): undefined reference to `cairo_get_line +_cap' Cairo.o:Cairo.c:(.text+0x141f): undefined reference to `cairo_get_line +_width' Cairo.o:Cairo.c:(.text+0x1538): undefined reference to `cairo_get_fill +_rule' Cairo.o:Cairo.c:(.text+0x1606): undefined reference to `cairo_get_curr +ent_point' Cairo.o:Cairo.c:(.text+0x177c): undefined reference to `cairo_has_curr +ent_point' Cairo.o:Cairo.c:(.text+0x1898): undefined reference to `cairo_get_anti +alias' Cairo.o:Cairo.c:(.text+0x197f): undefined reference to `cairo_get_tole +rance' Cairo.o:Cairo.c:(.text+0x1a98): undefined reference to `cairo_get_sour +ce' Cairo.o:Cairo.c:(.text+0x1aa0): undefined reference to `cairo_pattern_ +reference' Cairo.o:Cairo.c:(.text+0x1b68): undefined reference to `cairo_get_oper +ator' Cairo.o:Cairo.c:(.text+0x1c90): undefined reference to `cairo_text_pat +h' Cairo.o:Cairo.c:(.text+0x1d65): undefined reference to `cairo_set_font +_face' Cairo.o:Cairo.c:(.text+0x1e08): undefined reference to `cairo_get_font +_face' Cairo.o:Cairo.c:(.text+0x1e10): undefined reference to `cairo_font_fac +e_reference' Cairo.o:Cairo.c:(.text+0x1f40): undefined reference to `cairo_show_tex +t' Cairo.o:Cairo.c:(.text+0x2015): undefined reference to `cairo_set_scal +ed_font' Cairo.o:Cairo.c:(.text+0x20fc): undefined reference to `cairo_set_font +_size' Cairo.o:Cairo.c:(.text+0x224d): undefined reference to `cairo_select_f +ont_face' Cairo.o:Cairo.c:(.text+0x2308): undefined reference to `cairo_reset_cl +ip' Cairo.o:Cairo.c:(.text+0x245a): undefined reference to `cairo_in_clip' Cairo.o:Cairo.c:(.text+0x25c7): undefined reference to `cairo_clip_ext +ents' Cairo.o:Cairo.c:(.text+0x2788): undefined reference to `cairo_clip_pre +serve' Cairo.o:Cairo.c:(.text+0x2828): undefined reference to `cairo_clip' Cairo.o:Cairo.c:(.text+0x28e7): undefined reference to `cairo_fill_ext +ents' Cairo.o:Cairo.c:(.text+0x2ac7): undefined reference to `cairo_stroke_e +xtents' Cairo.o:Cairo.c:(.text+0x2d3a): undefined reference to `cairo_in_fill' Cairo.o:Cairo.c:(.text+0x2f3a): undefined reference to `cairo_in_strok +e' Cairo.o:Cairo.c:(.text+0x3088): undefined reference to `cairo_show_pag +e' Cairo.o:Cairo.c:(.text+0x3128): undefined reference to `cairo_copy_pag +e' Cairo.o:Cairo.c:(.text+0x31c8): undefined reference to `cairo_fill_pre +serve' Cairo.o:Cairo.c:(.text+0x3268): undefined reference to `cairo_fill' Cairo.o:Cairo.c:(.text+0x3308): undefined reference to `cairo_stroke_p +reserve' Cairo.o:Cairo.c:(.text+0x33a8): undefined reference to `cairo_stroke' Cairo.o:Cairo.c:(.text+0x34f3): undefined reference to `cairo_mask_sur +face' Cairo.o:Cairo.c:(.text+0x35f5): undefined reference to `cairo_mask' Cairo.o:Cairo.c:(.text+0x36dc): undefined reference to `cairo_paint_wi +th_alpha' Cairo.o:Cairo.c:(.text+0x3798): undefined reference to `cairo_paint' Cairo.o:Cairo.c:(.text+0x3857): undefined reference to `cairo_path_ext +ents' Cairo.o:Cairo.c:(.text+0x3a18): undefined reference to `cairo_close_pa +th' Cairo.o:Cairo.c:(.text+0x3be3): undefined reference to `cairo_rectangl +e' Cairo.o:Cairo.c:(.text+0x3ed7): undefined reference to `cairo_rel_curv +e_to' Cairo.o:Cairo.c:(.text+0x40e6): undefined reference to `cairo_rel_line +_to' Cairo.o:Cairo.c:(.text+0x4256): undefined reference to `cairo_rel_move +_to' Cairo.o:Cairo.c:(.text+0x44b2): undefined reference to `cairo_arc_nega +tive' Cairo.o:Cairo.c:(.text+0x4782): undefined reference to `cairo_arc' Cairo.o:Cairo.c:(.text+0x4aa7): undefined reference to `cairo_curve_to +' Cairo.o:Cairo.c:(.text+0x4cb6): undefined reference to `cairo_line_to' Cairo.o:Cairo.c:(.text+0x4e26): undefined reference to `cairo_move_to' Cairo.o:Cairo.c:(.text+0x4f08): undefined reference to `cairo_new_sub_ +path' Cairo.o:Cairo.c:(.text+0x4fa8): undefined reference to `cairo_new_path +' Cairo.o:Cairo.c:(.text+0x50df): undefined reference to `cairo_device_t +o_user_distance' Cairo.o:Cairo.c:(.text+0x52ef): undefined reference to `cairo_device_t +o_user' Cairo.o:Cairo.c:(.text+0x54ff): undefined reference to `cairo_user_to_ +device_distance' Cairo.o:Cairo.c:(.text+0x570f): undefined reference to `cairo_user_to_ +device' Cairo.o:Cairo.c:(.text+0x5888): undefined reference to `cairo_identity +_matrix' Cairo.o:Cairo.c:(.text+0x596c): undefined reference to `cairo_rotate' Cairo.o:Cairo.c:(.text+0x5ab6): undefined reference to `cairo_scale' Cairo.o:Cairo.c:(.text+0x5c26): undefined reference to `cairo_translat +e' Cairo.o:Cairo.c:(.text+0x5d4c): undefined reference to `cairo_set_mite +r_limit' Cairo.o:Cairo.c:(.text+0x5e74): undefined reference to `cairo_set_dash +' Cairo.o:Cairo.c:(.text+0x5f40): undefined reference to `cairo_set_dash +' Cairo.o:Cairo.c:(.text+0x600d): undefined reference to `cairo_set_line +_join' Cairo.o:Cairo.c:(.text+0x60bd): undefined reference to `cairo_set_line +_cap' Cairo.o:Cairo.c:(.text+0x619c): undefined reference to `cairo_set_line +_width' Cairo.o:Cairo.c:(.text+0x626d): undefined reference to `cairo_set_fill +_rule' Cairo.o:Cairo.c:(.text+0x631d): undefined reference to `cairo_set_anti +alias' Cairo.o:Cairo.c:(.text+0x63fc): undefined reference to `cairo_set_tole +rance' Cairo.o:Cairo.c:(.text+0x6563): undefined reference to `cairo_set_sour +ce_surface' Cairo.o:Cairo.c:(.text+0x6665): undefined reference to `cairo_set_sour +ce' Cairo.o:Cairo.c:(.text+0x6833): undefined reference to `cairo_set_sour +ce_rgba' Cairo.o:Cairo.c:(.text+0x6a34): undefined reference to `cairo_set_sour +ce_rgb' Cairo.o:Cairo.c:(.text+0x6b4d): undefined reference to `cairo_set_oper +ator' Cairo.o:Cairo.c:(.text+0x6be8): undefined reference to `cairo_pop_grou +p_to_source' Cairo.o:Cairo.c:(.text+0x6c88): undefined reference to `cairo_pop_grou +p' Cairo.o:Cairo.c:(.text+0x6c90): undefined reference to `cairo_pattern_ +reference' Cairo.o:Cairo.c:(.text+0x6d6d): undefined reference to `cairo_push_gro +up_with_content' Cairo.o:Cairo.c:(.text+0x6e08): undefined reference to `cairo_push_gro +up' Cairo.o:Cairo.c:(.text+0x6ea8): undefined reference to `cairo_restore' Cairo.o:Cairo.c:(.text+0x6f48): undefined reference to `cairo_save' Cairo.o:Cairo.c:(.text+0x6fe8): undefined reference to `cairo_destroy' Cairo.o:Cairo.c:(.text+0x70d8): undefined reference to `cairo_get_scal +ed_font' Cairo.o:Cairo.c:(.text+0x70e0): undefined reference to `cairo_scaled_f +ont_reference' Cairo.o:Cairo.c:(.text+0x71ac): undefined reference to `cairo_create' Cairo.o:Cairo.c:(.text+0x7280): undefined reference to `cairo_get_font +_matrix' Cairo.o:Cairo.c:(.text+0x7358): undefined reference to `cairo_font_opt +ions_create' Cairo.o:Cairo.c:(.text+0x7366): undefined reference to `cairo_get_font +_options' Cairo.o:Cairo.c:(.text+0x7440): undefined reference to `cairo_get_matr +ix' Cairo.o:Cairo.c:(.text+0x75d5): undefined reference to `cairo_set_font +_options' Cairo.o:Cairo.c:(.text+0x7695): undefined reference to `cairo_set_font +_matrix' Cairo.o:Cairo.c:(.text+0x7755): undefined reference to `cairo_set_matr +ix' Cairo.o:Cairo.c:(.text+0x7815): undefined reference to `cairo_transfor +m' Cairo.o:Cairo.c:(.text+0x7ab0): undefined reference to `cairo_font_ext +ents' Cairo.o:Cairo.c:(.text+0x7e18): undefined reference to `cairo_text_ext +ents' Cairo.o:Cairo.c:(.text+0x8320): undefined reference to `cairo_glyph_pa +th' Cairo.o:Cairo.c:(.text+0x844c): undefined reference to `cairo_glyph_ex +tents' Cairo.o:Cairo.c:(.text+0x85a0): undefined reference to `cairo_show_gly +phs' Cairo.o:Cairo.c:(.text+0x87f0): undefined reference to `cairo_copy_cli +p_rectangle_list' Cairo.o:Cairo.c:(.text+0x8864): undefined reference to `cairo_rectangl +e_list_destroy' Cairo.o:Cairo.c:(.text+0x946d): undefined reference to `cairo_glyph_al +locate' Cairo.o:Cairo.c:(.text+0x94ee): undefined reference to `cairo_text_clu +ster_allocate' Cairo.o:Cairo.c:(.text+0x956f): undefined reference to `cairo_show_tex +t_glyphs' Cairo.o:Cairo.c:(.text+0x9577): undefined reference to `cairo_text_clu +ster_free' Cairo.o:Cairo.c:(.text+0x957f): undefined reference to `cairo_glyph_fr +ee' CairoFont.o:CairoFont.c:(.text+0x68): undefined reference to `cairo_fo +nt_options_destroy' CairoFont.o:CairoFont.c:(.text+0x108): undefined reference to `cairo_f +ont_options_get_hint_metrics' CairoFont.o:CairoFont.c:(.text+0x1dd): undefined reference to `cairo_f +ont_options_set_hint_metrics' CairoFont.o:CairoFont.c:(.text+0x278): undefined reference to `cairo_f +ont_options_get_hint_style' CairoFont.o:CairoFont.c:(.text+0x34d): undefined reference to `cairo_f +ont_options_set_hint_style' CairoFont.o:CairoFont.c:(.text+0x3e8): undefined reference to `cairo_f +ont_options_get_subpixel_order' CairoFont.o:CairoFont.c:(.text+0x4bd): undefined reference to `cairo_f +ont_options_set_subpixel_order' CairoFont.o:CairoFont.c:(.text+0x558): undefined reference to `cairo_f +ont_options_get_antialias' CairoFont.o:CairoFont.c:(.text+0x62d): undefined reference to `cairo_f +ont_options_set_antialias' CairoFont.o:CairoFont.c:(.text+0x6ec): undefined reference to `cairo_f +ont_options_hash' CairoFont.o:CairoFont.c:(.text+0x849): undefined reference to `cairo_f +ont_options_equal' CairoFont.o:CairoFont.c:(.text+0x985): undefined reference to `cairo_f +ont_options_merge' CairoFont.o:CairoFont.c:(.text+0xa28): undefined reference to `cairo_f +ont_options_status' CairoFont.o:CairoFont.c:(.text+0xac4): undefined reference to `cairo_f +ont_options_create' CairoFont.o:CairoFont.c:(.text+0xb98): undefined reference to `cairo_s +caled_font_destroy' CairoFont.o:CairoFont.c:(.text+0xc40): undefined reference to `cairo_s +caled_font_get_scale_matrix' CairoFont.o:CairoFont.c:(.text+0xd18): undefined reference to `cairo_f +ont_options_create' CairoFont.o:CairoFont.c:(.text+0xd26): undefined reference to `cairo_s +caled_font_get_font_options' CairoFont.o:CairoFont.c:(.text+0xe00): undefined reference to `cairo_s +caled_font_get_ctm' CairoFont.o:CairoFont.c:(.text+0xee0): undefined reference to `cairo_s +caled_font_get_font_matrix' CairoFont.o:CairoFont.c:(.text+0x1106): undefined reference to `cairo_ +scaled_font_text_to_glyphs' CairoFont.o:CairoFont.c:(.text+0x11ea): undefined reference to `cairo_ +glyph_free' CairoFont.o:CairoFont.c:(.text+0x1246): undefined reference to `cairo_ +text_cluster_free' CairoFont.o:CairoFont.c:(.text+0x141c): undefined reference to `cairo_ +scaled_font_glyph_extents' CairoFont.o:CairoFont.c:(.text+0x1568): undefined reference to `cairo_ +scaled_font_text_extents' CairoFont.o:CairoFont.c:(.text+0x1650): undefined reference to `cairo_ +scaled_font_extents' CairoFont.o:CairoFont.c:(.text+0x1718): undefined reference to `cairo_ +scaled_font_get_type' CairoFont.o:CairoFont.c:(.text+0x17d8): undefined reference to `cairo_ +font_face_get_type' CairoFont.o:CairoFont.c:(.text+0x1898): undefined reference to `cairo_ +scaled_font_status' CairoFont.o:CairoFont.c:(.text+0x19b7): undefined reference to `cairo_ +scaled_font_create' CairoFont.o:CairoFont.c:(.text+0x1a88): undefined reference to `cairo_ +toy_font_face_get_weight' CairoFont.o:CairoFont.c:(.text+0x1b48): undefined reference to `cairo_ +toy_font_face_get_slant' CairoFont.o:CairoFont.c:(.text+0x1c08): undefined reference to `cairo_ +toy_font_face_get_family' CairoFont.o:CairoFont.c:(.text+0x1cd8): undefined reference to `cairo_ +font_face_destroy' CairoFont.o:CairoFont.c:(.text+0x1d78): undefined reference to `cairo_ +font_face_status' CairoFont.o:CairoFont.c:(.text+0x1dfd): undefined reference to `cairo_ +font_face_get_type' CairoFont.o:CairoFont.c:(.text+0x1ec8): undefined reference to `cairo_ +scaled_font_get_font_face' CairoFont.o:CairoFont.c:(.text+0x1ed0): undefined reference to `cairo_ +font_face_reference' CairoFont.o:CairoFont.c:(.text+0x2010): undefined reference to `cairo_ +toy_font_face_create' CairoMatrix.o:CairoMatrix.c:(.text+0x19f): undefined reference to `cai +ro_matrix_transform_point' CairoMatrix.o:CairoMatrix.c:(.text+0x3af): undefined reference to `cai +ro_matrix_transform_distance' CairoMatrix.o:CairoMatrix.c:(.text+0x528): undefined reference to `cai +ro_matrix_invert' CairoMatrix.o:CairoMatrix.c:(.text+0x62c): undefined reference to `cai +ro_matrix_rotate' CairoMatrix.o:CairoMatrix.c:(.text+0x776): undefined reference to `cai +ro_matrix_scale' CairoMatrix.o:CairoMatrix.c:(.text+0x8e6): undefined reference to `cai +ro_matrix_translate' CairoMatrix.o:CairoMatrix.c:(.text+0xa51): undefined reference to `cai +ro_matrix_multiply' CairoMatrix.o:CairoMatrix.c:(.text+0xb5e): undefined reference to `cai +ro_matrix_init_rotate' CairoMatrix.o:CairoMatrix.c:(.text+0xcc8): undefined reference to `cai +ro_matrix_init_scale' CairoMatrix.o:CairoMatrix.c:(.text+0xe58): undefined reference to `cai +ro_matrix_init_translate' CairoMatrix.o:CairoMatrix.c:(.text+0xf4c): undefined reference to `cai +ro_matrix_init_identity' CairoMatrix.o:CairoMatrix.c:(.text+0x11ee): undefined reference to `ca +iro_matrix_init' CairoPath.o:CairoPath.c:(.text+0x1b66): undefined reference to `cairo_ +path_destroy' CairoPattern.o:CairoPattern.c:(.text+0x9b): undefined reference to `ca +iro_pattern_get_radial_circles' CairoPattern.o:CairoPattern.c:(.text+0x2d7): undefined reference to `c +airo_pattern_get_linear_points' CairoPattern.o:CairoPattern.c:(.text+0x4b1): undefined reference to `c +airo_pattern_get_color_stop_count' CairoPattern.o:CairoPattern.c:(.text+0x567): undefined reference to `c +airo_pattern_get_color_stop_rgba' CairoPattern.o:CairoPattern.c:(.text+0x922): undefined reference to `c +airo_pattern_add_color_stop_rgba' CairoPattern.o:CairoPattern.c:(.text+0xba3): undefined reference to `c +airo_pattern_add_color_stop_rgb' CairoPattern.o:CairoPattern.c:(.text+0xccd): undefined reference to `c +airo_pattern_get_surface' CairoPattern.o:CairoPattern.c:(.text+0xcdd): undefined reference to `c +airo_surface_reference' CairoPattern.o:CairoPattern.c:(.text+0xe07): undefined reference to `c +airo_pattern_get_rgba' CairoPattern.o:CairoPattern.c:(.text+0xfc8): undefined reference to `c +airo_pattern_get_type' CairoPattern.o:CairoPattern.c:(.text+0x1088): undefined reference to ` +cairo_pattern_get_extend' CairoPattern.o:CairoPattern.c:(.text+0x1148): undefined reference to ` +cairo_pattern_get_filter' CairoPattern.o:CairoPattern.c:(.text+0x121d): undefined reference to ` +cairo_pattern_set_filter' CairoPattern.o:CairoPattern.c:(.text+0x12cd): undefined reference to ` +cairo_pattern_set_extend' CairoPattern.o:CairoPattern.c:(.text+0x1368): undefined reference to ` +cairo_pattern_status' CairoPattern.o:CairoPattern.c:(.text+0x1430): undefined reference to ` +cairo_pattern_get_matrix' CairoPattern.o:CairoPattern.c:(.text+0x1525): undefined reference to ` +cairo_pattern_set_matrix' CairoPattern.o:CairoPattern.c:(.text+0x15c8): undefined reference to ` +cairo_pattern_destroy' CairoPattern.o:CairoPattern.c:(.text+0x162d): undefined reference to ` +cairo_pattern_get_type' CairoPattern.o:CairoPattern.c:(.text+0x18a5): undefined reference to ` +cairo_pattern_create_radial' CairoPattern.o:CairoPattern.c:(.text+0x1b57): undefined reference to ` +cairo_pattern_create_linear' CairoPattern.o:CairoPattern.c:(.text+0x1cac): undefined reference to ` +cairo_pattern_create_for_surface' CairoPattern.o:CairoPattern.c:(.text+0x1e87): undefined reference to ` +cairo_pattern_create_rgba' CairoPattern.o:CairoPattern.c:(.text+0x209a): undefined reference to ` +cairo_pattern_create_rgb' CairoSurface.o:CairoSurface.c:(.text+0xc5): undefined reference to `ca +iro_format_stride_for_width' CairoSurface.o:CairoSurface.c:(.text+0x207): undefined reference to `c +airo_recording_surface_ink_extents' CairoSurface.o:CairoSurface.c:(.text+0x3f9): undefined reference to `c +airo_svg_version_to_string' CairoSurface.o:CairoSurface.c:(.text+0x487): undefined reference to `c +airo_svg_version_to_string' CairoSurface.o:CairoSurface.c:(.text+0x51f): undefined reference to `c +airo_svg_get_versions' CairoSurface.o:CairoSurface.c:(.text+0x64d): undefined reference to `c +airo_svg_surface_restrict_to_version' CairoSurface.o:CairoSurface.c:(.text+0x126c): undefined reference to ` +cairo_ps_surface_get_eps' CairoSurface.o:CairoSurface.c:(.text+0x13ca): undefined reference to ` +cairo_ps_surface_set_eps' CairoSurface.o:CairoSurface.c:(.text+0x14b9): undefined reference to ` +cairo_ps_level_to_string' CairoSurface.o:CairoSurface.c:(.text+0x1547): undefined reference to ` +cairo_ps_level_to_string' CairoSurface.o:CairoSurface.c:(.text+0x15df): undefined reference to ` +cairo_ps_get_levels' CairoSurface.o:CairoSurface.c:(.text+0x170d): undefined reference to ` +cairo_ps_surface_restrict_to_level' CairoSurface.o:CairoSurface.c:(.text+0x17a8): undefined reference to ` +cairo_ps_surface_dsc_begin_page_setup' CairoSurface.o:CairoSurface.c:(.text+0x1848): undefined reference to ` +cairo_ps_surface_dsc_begin_setup' CairoSurface.o:CairoSurface.c:(.text+0x192e): undefined reference to ` +cairo_ps_surface_dsc_comment' CairoSurface.o:CairoSurface.c:(.text+0x1a76): undefined reference to ` +cairo_ps_surface_set_size' CairoSurface.o:CairoSurface.c:(.text+0x1b89): undefined reference to ` +cairo_pdf_version_to_string' CairoSurface.o:CairoSurface.c:(.text+0x1c17): undefined reference to ` +cairo_pdf_version_to_string' CairoSurface.o:CairoSurface.c:(.text+0x1caf): undefined reference to ` +cairo_pdf_get_versions' CairoSurface.o:CairoSurface.c:(.text+0x1ddd): undefined reference to ` +cairo_pdf_surface_restrict_to_version' CairoSurface.o:CairoSurface.c:(.text+0x1f06): undefined reference to ` +cairo_pdf_surface_set_size' CairoSurface.o:CairoSurface.c:(.text+0x287c): undefined reference to ` +cairo_image_surface_get_stride' CairoSurface.o:CairoSurface.c:(.text+0x29bc): undefined reference to ` +cairo_image_surface_get_height' CairoSurface.o:CairoSurface.c:(.text+0x2afc): undefined reference to ` +cairo_image_surface_get_width' CairoSurface.o:CairoSurface.c:(.text+0x2c18): undefined reference to ` +cairo_image_surface_get_format' CairoSurface.o:CairoSurface.c:(.text+0x2ce2): undefined reference to ` +cairo_image_surface_get_data' CairoSurface.o:CairoSurface.c:(.text+0x2ced): undefined reference to ` +cairo_image_surface_get_height' CairoSurface.o:CairoSurface.c:(.text+0x2cf7): undefined reference to ` +cairo_image_surface_get_stride' CairoSurface.o:CairoSurface.c:(.text+0x2dfc): undefined reference to ` +cairo_surface_has_show_text_glyphs' CairoSurface.o:CairoSurface.c:(.text+0x2f18): undefined reference to ` +cairo_surface_show_page' CairoSurface.o:CairoSurface.c:(.text+0x2fb8): undefined reference to ` +cairo_surface_copy_page' CairoSurface.o:CairoSurface.c:(.text+0x309b): undefined reference to ` +cairo_surface_write_to_png_stream' CairoSurface.o:CairoSurface.c:(.text+0x31ae): undefined reference to ` +cairo_surface_write_to_png' CairoSurface.o:CairoSurface.c:(.text+0x3288): undefined reference to ` +cairo_surface_get_content' CairoSurface.o:CairoSurface.c:(.text+0x3348): undefined reference to ` +cairo_surface_get_type' CairoSurface.o:CairoSurface.c:(.text+0x351e): undefined reference to ` +cairo_surface_mark_dirty_rectangle' CairoSurface.o:CairoSurface.c:(.text+0x3638): undefined reference to ` +cairo_surface_mark_dirty' CairoSurface.o:CairoSurface.c:(.text+0x36d8): undefined reference to ` +cairo_surface_flush' CairoSurface.o:CairoSurface.c:(.text+0x3778): undefined reference to ` +cairo_font_options_create' CairoSurface.o:CairoSurface.c:(.text+0x3786): undefined reference to ` +cairo_surface_get_font_options' CairoSurface.o:CairoSurface.c:(.text+0x3866): undefined reference to ` +cairo_surface_get_fallback_resolution' CairoSurface.o:CairoSurface.c:(.text+0x3a46): undefined reference to ` +cairo_surface_set_fallback_resolution' CairoSurface.o:CairoSurface.c:(.text+0x3b36): undefined reference to ` +cairo_surface_get_device_offset' CairoSurface.o:CairoSurface.c:(.text+0x3d16): undefined reference to ` +cairo_surface_set_device_offset' CairoSurface.o:CairoSurface.c:(.text+0x3df8): undefined reference to ` +cairo_surface_status' CairoSurface.o:CairoSurface.c:(.text+0x3eb8): undefined reference to ` +cairo_surface_finish' CairoSurface.o:CairoSurface.c:(.text+0x3f58): undefined reference to ` +cairo_surface_destroy' CairoSurface.o:CairoSurface.c:(.text+0x3fb6): undefined reference to ` +cairo_surface_get_type' CairoSurface.o:CairoSurface.c:(.text+0x4135): undefined reference to ` +cairo_recording_surface_create' CairoSurface.o:CairoSurface.c:(.text+0x42ad): undefined reference to ` +cairo_svg_surface_create_for_stream' CairoSurface.o:CairoSurface.c:(.text+0x42c9): undefined reference to ` +cairo_surface_set_user_data' CairoSurface.o:CairoSurface.c:(.text+0x4486): undefined reference to ` +cairo_svg_surface_create' CairoSurface.o:CairoSurface.c:(.text+0x464d): undefined reference to ` +cairo_ps_surface_create_for_stream' CairoSurface.o:CairoSurface.c:(.text+0x4669): undefined reference to ` +cairo_surface_set_user_data' CairoSurface.o:CairoSurface.c:(.text+0x4826): undefined reference to ` +cairo_ps_surface_create' CairoSurface.o:CairoSurface.c:(.text+0x49ed): undefined reference to ` +cairo_pdf_surface_create_for_stream' CairoSurface.o:CairoSurface.c:(.text+0x4a09): undefined reference to ` +cairo_surface_set_user_data' CairoSurface.o:CairoSurface.c:(.text+0x4bc6): undefined reference to ` +cairo_pdf_surface_create' CairoSurface.o:CairoSurface.c:(.text+0x4d02): undefined reference to ` +cairo_image_surface_create_from_png_stream' CairoSurface.o:CairoSurface.c:(.text+0x4e04): undefined reference to ` +cairo_image_surface_create_from_png' CairoSurface.o:CairoSurface.c:(.text+0x4ffd): undefined reference to ` +cairo_image_surface_create_for_data' CairoSurface.o:CairoSurface.c:(.text+0x51bd): undefined reference to ` +cairo_image_surface_create' CairoSurface.o:CairoSurface.c:(.text+0x53e7): undefined reference to ` +cairo_surface_create_for_rectangle' CairoSurface.o:CairoSurface.c:(.text+0x55ec): undefined reference to ` +cairo_surface_create_similar' CairoRegion.o:CairoRegion.c:(.text+0x7e): undefined reference to `cair +o_region_xor_rectangle' CairoRegion.o:CairoRegion.c:(.text+0x169): undefined reference to `cai +ro_region_xor' CairoRegion.o:CairoRegion.c:(.text+0x23e): undefined reference to `cai +ro_region_union_rectangle' CairoRegion.o:CairoRegion.c:(.text+0x329): undefined reference to `cai +ro_region_union' CairoRegion.o:CairoRegion.c:(.text+0x3fe): undefined reference to `cai +ro_region_subtract_rectangle' CairoRegion.o:CairoRegion.c:(.text+0x4e9): undefined reference to `cai +ro_region_subtract' CairoRegion.o:CairoRegion.c:(.text+0x5be): undefined reference to `cai +ro_region_intersect_rectangle' CairoRegion.o:CairoRegion.c:(.text+0x6a9): undefined reference to `cai +ro_region_intersect' CairoRegion.o:CairoRegion.c:(.text+0x7ee): undefined reference to `cai +ro_region_translate' CairoRegion.o:CairoRegion.c:(.text+0x8f9): undefined reference to `cai +ro_region_equal' CairoRegion.o:CairoRegion.c:(.text+0xa2e): undefined reference to `cai +ro_region_contains_rectangle' CairoRegion.o:CairoRegion.c:(.text+0xba4): undefined reference to `cai +ro_region_contains_point' CairoRegion.o:CairoRegion.c:(.text+0xd1c): undefined reference to `cai +ro_region_is_empty' CairoRegion.o:CairoRegion.c:(.text+0xe83): undefined reference to `cai +ro_region_get_rectangle' CairoRegion.o:CairoRegion.c:(.text+0xf8c): undefined reference to `cai +ro_region_num_rectangles' CairoRegion.o:CairoRegion.c:(.text+0x10b0): undefined reference to `ca +iro_region_get_extents' CairoRegion.o:CairoRegion.c:(.text+0x1178): undefined reference to `ca +iro_region_status' CairoRegion.o:CairoRegion.c:(.text+0x1297): undefined reference to `ca +iro_region_create_rectangles' CairoRegion.o:CairoRegion.c:(.text+0x1313): undefined reference to `ca +iro_region_create_rectangle' CairoRegion.o:CairoRegion.c:(.text+0x1321): undefined reference to `ca +iro_region_create' CairoRegion.o:CairoRegion.c:(.text+0x13a8): undefined reference to `ca +iro_region_destroy' CairoFt.o:CairoFt.c:(.text+0xc6): undefined reference to `cairo_ft_fon +t_face_create_for_ft_face' CairoFt.o:CairoFt.c:(.text+0xe6): undefined reference to `cairo_font_f +ace_set_user_data' collect2.exe: error: ld returned 1 exit status gmake: *** [Makefile:520: blib\arch\auto\Cairo\Cairo.xs.dll] Error 1

Replies are listed 'Best First'.
Re^3: RFC: Compiling Gtk+ stack on windows with strawberry perl
by marioroy (Parson) on Sep 24, 2017 at 09:06 UTC

    Greetings, mtl3 and welcome to the monastery.

    The following instructions provide another way to install Perl-Gtk2 on the Windows platform. See, FAQ question #4.

    I tested on fresh Strawberry Perl installations v5.22.3.1, v5.24.2.1, and v5.26.0.2. During the Gtk2 installation, a new window may appear asking if you want to move the themes directory. If so, wait for the installation to finish before answering the question.

    The ppm_req script, mentioned in FAQ #4, is found here.

    > ppm install PPM::Sisyphusion Installing package 'PPM-Sisyphusion'... Bytes transferred: 496247 Installing C:\perl-5.26.0.2\perl\site\lib\PPM\Sisyphusion.pm Installing C:\perl-5.26.0.2\perl\bin\lib530pthread-1.dll Installing C:\perl-5.26.0.2\perl\bin\libgcc_sis__530.dll Installing C:\perl-5.26.0.2\perl\bin\libstdc_530.dll > perl ppm_req Gtk2 # <-- provides a list of ppm commands to run > ppm install PPM::Sisyphusion::Cairo_font > ppm install Cairo > ppm install Gtk2 The following dependencies are installed automatically. > ppm install PPM::Sisyphusion::Pango_dll > ppm install PPM::Sisyphusion::Glib_dll > ppm install Glib > ppm install PPM::Sisyphusion::Gtk2_dll > ppm install PPM::Sisyphusion::Gtk2_theme > ppm install PPM::Sisyphusion::Cairo_dll > ppm install Pango

    Tk may be installed similarly, via PPM under Strawberry Perl v5.22.3.1, but not later Perl releases at this time. Trying will not hurt and simply emit a message stating not yet available.

    > ppm install PPM::Sisyphusion # <-- skip if already done > ppm install Tk > ppm install Tk::Zinc

    The list of Sisyphusion packages is found here.

    Regards, Mario

      This worked a treat!!!

      Many thanks for your fast, efficient... and wise answer.

      Regards.

        For anyone insterested in this installation, note that at this point in time the guidelines provided above will not install internationalization files automatically. That is: GTK stock button labels will be displayed in English whatever your computer setting are. If you want perl/gtk2+ to consider automatically your computer settings, you will have to copy the files present in your gtk install at \gtk+\share\locale to strawberry_perl\perl\site\share.

        Since I had to apply this little additional procedure to have my install worked as desider, I think it can be usefull to others interested by this thread too.

        Cheers

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1199958]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (4)
As of 2022-09-30 20:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    I prefer my indexes to start at:




    Results (126 votes). Check out past polls.

    Notices?