Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^2: Help with compiling glib

by frazap (Monk)
on Jun 22, 2016 at 11:13 UTC ( [id://1166235]=note: print w/replies, xml ) Need Help??


in reply to Re: Help with compiling glib
in thread Help with compiling glib

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 =

Replies are listed 'Best First'.
Re^3: Help with compiling glib
by Corion (Patriarch) on Jun 22, 2016 at 11:20 UTC

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

        I'm sorry, but I can't help you here. Your Makefile seems to be some "special" kind of Makefile which doesn't output the verbatim command lines it runs but something like

        [ CC GVariant.c ]

        ... which does not help anybody. I don't know what is responsible for this output but if you find out who/what causes that, remove that cause and burn it with fire.

        Update

        There it is, in lib/Glib/MakeHelper.pm:

        # # And, some black magick to help make learn to shut the hell up. # sub quiet_rule { my $cmds = shift; my @lines = split /\n/, $cmds; foreach (@lines) { if (/NOECHO/) { # already quiet } elsif (/XSUBPP/) { s/^\t/\t\$(NOECHO) \$(ECHO) [ XS \$< ]\n\t\$(NOECHO) /; } elsif (/CCCMD/) { s/^\t/\t\$(NOECHO) \$(ECHO) [ CC \$< ]\n\t\$(NOECHO) /; } elsif (/\bLD\b/) { s/^\t/\t\$(NOECHO) \$(ECHO) [ LD \$@ ]\n\t\$(NOECHO) /; } elsif (/[_\b]AR\b/) { s/^\t/\t\$(NOECHO) \$(ECHO) [ AR \$@ ]\n\t\$(NOECHO) /; } } return join "\n", @lines; }

        Instead of this "beautiful" yet incredibly unhelpful idiocy, remove all this commenting and all instances of $(NOECHO) and reduce that subroutine to a no-op:

        sub quiet_rule { my $cmds = shift; return $cmds; }

        The people who want "beautiful" or "quiet" output from make don't really understand why the output from make is there. It's not there for the case where everything goes according to plan but for the case where the build fails.

Log In?
Username:
Password:

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

How do I use this?Last hourOther CB clients
Other Users?
Others examining the Monastery: (2)
As of 2024-04-24 23:44 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found