in reply to Help with compiling glib

Can you show us the actual line that dmake will run? It should start either with gcc or with ldd.

My first step would be to look at what the Makefile written by Makefile.PL actually contains as the directories for LIBS and INC.

Replies are listed 'Best First'.
Re^2: Help with compiling glib
by frazap (Monk) on Jun 22, 2016 at 11:13 UTC
    Extralibs + Ldloadlibs are:
    EXTRALIBS = "C:\STRAWB~1\c\i686-w64-mingw32\lib\libmoldname.a" "C:\STR +AWB~1\c\i686-w64-mingw32 \lib\libkernel32.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libuser32.a" " +C:\STRAWB~1\c\i686-w64-mingw32\lib\libgdi32.a" "C:\STRAWB~1\c\i686-w6 +4-mingw32\lib\libwinspool.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libc +omdlg32.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libadvapi32.a" "C:\STR +AWB~1\c\i686-w64-mingw32\lib\libshell32.a" "C:\STRAWB~1\c\i686-w64-mi +ngw32\lib\libole32.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\liboleaut32 +.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libnetapi32.a" "C:\STRAWB~1\c +\i686-w64-mingw32\lib\libuuid.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\ +libws2_32.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libmpr.a" "C:\STRAWB +~1\c\i686-w64-mingw32\lib\libwinmm.a" "C:\STRAWB~1\c\i686-w64-mingw32 +\lib\libversion.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libodbc32.a" " +C:\STRAWB~1\c\i686-w64-mingw32\lib\libodbccp32.a" "C:\STRAWB~1\c\i686 +-w64-mingw32\lib\libcomctl32.a" LDLOADLIBS = "C:\STRAWB~1\c\i686-w64-mingw32\lib\libmoldname.a" "C:\ST +RAWB~1\c\i686-w64-mingw32\lib\libkernel32.a" "C:\STRAWB~1\c\i686-w64- +mingw32\lib\libuser32.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libgdi32 +.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libwinspool.a" "C:\STRAWB~1\c +\i686-w64-mingw32\lib\libcomdlg32.a" "C:\STRAWB~1\c\i686-w64-mingw32\ +lib\libadvapi32.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libshell32.a" +"C:\STRAWB~1\c\i686-w64-mingw32\lib\libole32.a" "C:\STRAWB~1\c\i686-w +64-mingw32\lib\liboleaut32.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\lib +netapi32.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libuuid.a" "C:\STRAWB +~1\c\i686-w64-mingw32\lib\libws2_32.a" "C:\STRAWB~1\c\i686-w64-mingw3 +2\lib\libmpr.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libwinmm.a" "C:\S +TRAWB~1\c\i686-w64-mingw32\lib\libversion.a" "C:\STRAWB~1\c\i686-w64- +mingw32\lib\libodbc32.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libodbcc +p32.a" "C:\STRAWB~1\c\i686-w64-mingw32\lib\libcomctl32.a" BSLOADLIBS =

      To find out which line in your run of your Makefile blows up, scroll back up in your terminal history until you find the last (and likely unsuccessful) line invoking gcc or ldd.

      I will not follow random links to random websites linking to random archives containing maybe a random Makefile. The important thing is how it behaves in your environment, which is something only you can provide.

        dmake clean perl Makefile.pl INC="-IC:\prog\gtk+\include\glib-2.0 -IC:\prog\Gtk+\l +ib\glib-2.0\include" LIBS="-LC:/prog/gtk+/lib" dmake >out.txt 2>&1
        gives
        cp lib/Glib.pm blib\lib/Glib.pm cp C:\strawberry\cpan\build\Glib-1.321-onhke4\typemap blib\arch/Glib/I +nstall/typemap cp devel.pod blib\lib/Glib/devel.pod cp doctypes blib\arch/Glib/Install/doctypes cp lib/Glib/Object/Subclass.pm blib\lib/Glib/Object/Subclass.pm cp lib/Glib/CodeGen.pm blib\lib/Glib/CodeGen.pm cp gperl.h blib\arch/Glib/Install/gperl.h cp gperl_marshal.h blib\arch/Glib/Install/gperl_marshal.h cp build/IFiles.pm blib\arch/Glib/Install/Files.pm cp lib/Glib/GenPod.pm blib\lib/Glib/GenPod.pm cp lib/Glib/MakeHelper.pm blib\lib/Glib/MakeHelper.pm cp lib/Glib/ParseXSDoc.pm blib\lib/Glib/ParseXSDoc.pm Running Mkbootstrap for Glib () "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e chmod -- 644 +"Glib.bs" "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command::MM -e cp_nonemp +ty -- Glib.bs blib\arch\auto\Glib\Glib.bs 644 [ XS Glib.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- Glib.xs +c Glib.c [ CC Glib.c ] [ XS GError.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GError. +xsc GError.c [ CC GError.c ] [ XS GUtils.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GUtils. +xsc GUtils.c [ CC GUtils.c ] [ XS GLog.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GLog.xs +c GLog.c [ CC GLog.c ] [ XS GType.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GType.x +sc GType.c [ CC GType.c ] [ XS GBoxed.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GBoxed. +xsc GBoxed.c [ CC GBoxed.c ] [ XS GObject.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GObject +.xsc GObject.c [ CC GObject.c ] [ XS GValue.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GValue. +xsc GValue.c [ CC GValue.c ] [ XS GClosure.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GClosur +e.xsc GClosure.c [ CC GClosure.c ] [ XS GSignal.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GSignal +.xsc GSignal.c [ CC GSignal.c ] [ XS GMainLoop.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GMainLo +op.xsc GMainLoop.c [ CC GMainLoop.c ] [ XS GIOChannel.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GIOChan +nel.xsc GIOChannel.c [ CC GIOChannel.c ] [ XS GParamSpec.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GParamS +pec.xsc GParamSpec.c [ CC GParamSpec.c ] [ XS GKeyFile.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GKeyFil +e.xsc GKeyFile.c [ CC GKeyFile.c ] [ XS GOption.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GOption +.xsc GOption.c [ CC GOption.c ] [ XS GBookmarkFile.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GBookma +rkFile.xsc GBookmarkFile.c [ CC GBookmarkFile.c ] [ XS GVariant.xs ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Command -e mv -- GVarian +t.xsc GVariant.c [ CC GVariant.c ] GVariant.xs: In function 'wrap_variant': GVariant.xs:78:24: warning: passing argument 1 of 'variant_to_sv' make +s pointer from integer without a cast return variant_to_sv (g_value_get_variant (value), FALSE); ^ GVariant.xs:28:1: note: expected 'struct GVariant *' but argument is o +f type 'int' variant_to_sv (GVariant * variant, gboolean own) ^ GVariant.c: In function 'XS_Glib__Variant_lookup_value': GVariant.c:1323:9: warning: assignment makes pointer from integer with +out a cast RETVAL = g_variant_lookup_value(dictionary, key, expected_type); ^ [ CC gperl-gtypes.c ] "C:\strawberry\perl\bin\perl.exe" -MExtUtils::Mksymlists \ -e "Mksymlists('NAME'=>\"Glib\", 'DLBASE' => 'Glib', 'DL_FUNCS' = +> { Glib=>[] }, 'FUNCLIST' => [q[SvGChar], q[SvGKeyFile], q[SvGParamF +lags], q[SvGParamSpec], q[SvGSignalFlags], q[SvGInt64], q[SvGUInt64], + q[SvGVariant], q[SvGVariantType], q[_gperl_attach_mg], q[_gperl_call +_XS], q[_gperl_find_mg], q[_gperl_remove_mg], q[gperl_alloc_temp], q[ +gperl_argv_free], q[gperl_argv_new], q[gperl_argv_update], q[gperl_bo +xed_package_from_type], q[gperl_boxed_type_from_package], q[gperl_cal +lback_destroy], q[gperl_callback_invoke], q[gperl_callback_new], q[gp +erl_closure_new], q[gperl_closure_new_with_marshaller], q[gperl_conve +rt_back_enum], q[gperl_convert_back_enum_pass_unknown], q[gperl_conve +rt_back_flags], q[gperl_convert_enum], q[gperl_convert_flag_one], q[g +perl_convert_flags], q[gperl_croak_gerror], q[gperl_default_boxed_wra +pper_class], q[gperl_filename_from_sv], q[gperl_format_variable_for_o +utput], q[gperl_fundamental_package_from_type], q[gperl_fundamental_t +ype_from_package], q[gperl_gerror_from_sv], q[gperl_get_boxed_check], + q[gperl_get_object], q[gperl_get_object_check], q[gperl_handle_logs_ +for], q[gperl_hv_take_sv], q[gperl_install_exception_handler], q[gper +l_new_boxed], q[gperl_new_boxed_copy], q[gperl_new_object], q[gperl_o +bject_check_type], q[gperl_object_package_from_type], q[gperl_object_ +set_no_warn_unreg_subclass], q[gperl_object_stash_from_type], q[gperl +_object_type_from_package], q[gperl_option_context_get_type], q[gperl +_option_group_get_type], q[gperl_package_from_type], q[gperl_param_sp +ec_package_from_type], q[gperl_param_spec_type_from_package], q[gperl +_prepend_isa], q[gperl_register_boxed], q[gperl_register_boxed_alias] +, q[gperl_register_boxed_synonym], q[gperl_register_error_domain], q[ +gperl_register_fundamental], q[gperl_register_fundamental_alias], q[g +perl_register_object], q[gperl_register_object_alias], q[gperl_regist +er_param_spec], q[gperl_register_sink_func], q[gperl_remove_exception +_handler], q[gperl_run_exception_handlers], q[gperl_set_isa], q[gperl +_signal_connect], q[gperl_signal_set_marshaller_for], q[gperl_str_eq] +, q[gperl_str_hash], q[gperl_sv_copy], q[gperl_sv_is_defined], q[gper +l_sv_free], q[gperl_sv_from_filename], q[gperl_sv_from_gerror], q[gpe +rl_sv_from_value], q[gperl_sv_get_type], q[gperl_try_convert_enum], q +[gperl_try_convert_flag], q[gperl_type_class], q[gperl_type_from_pack +age], q[gperl_value_from_sv], q[newSVGChar], q[newSVGParamFlags], q[n +ewSVGParamSpec], q[newSVGSignalFlags], q[newSVGSignalInvocationHint], + q[newSVGSignalQuery], q[newSVGInt64], q[newSVGUInt64], q[newSVGVaria +nt], q[newSVGVariant_noinc], q[newSVGVariantType], q[newSVGVariantTyp +e_own]], 'IMPORTS' => { }, 'DL_VARS' => []);" [ LD blib\arch\auto\Glib\Glib.xs.dll ] Glib.o:Glib.c:(.text+0x85): undefined reference to `g_filename_display +_basename' Glib.o:Glib.c:(.text+0xb6): undefined reference to `g_free' Glib.o:Glib.c:(.text+0x195): undefined reference to `g_filename_displa +y_name' Glib.o:Glib.c:(.text+0x1c6): undefined reference to `g_free' Gli...