in reply to Re^18: gmake error on Glib compile
in thread gmake error on Glib compile

Hi Rob

Yes it looks the same so it ran gmake install and got success

for the Cairo-GObject I run into similar undefined reference. I've checked the libs renamed.

pkg-config -- version now shows 0.29.2

From Makefile EXTRALIBS = "C:\msys64\mingw64\lib\libcairo-gobject.a" "C:\msys64\mingw64\lib\libcairo.a" "C:\msys64\mingw64\lib\libgobject-2.0.a" "C:\msys64\mingw64\lib\libglib-2.0.a" "C:\msys64\mingw64\lib\libintl.a" "C:\msys64\mingw64\lib\libfreetype.a" "C:\msys64\mingw64\lib\libgthread-2.0.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libmoldname.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_64-w64-mingw32\lib\libgdi32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libwinspool.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\lib\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\x86_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:\STRAWB~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\libodbc32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libodbccp32.a" "C:\STRAWB~1\c\x86_64-w64-mingw32\lib\libcomctl32.a"


I feel so close after getting the glib to install

Thanks Mike

Replies are listed 'Best First'.
Re^20: gmake error on Glib compile
by syphilis (Archbishop) on Sep 05, 2023 at 12:33 UTC
    I think it's just that:
    "C:\STRAWB~1\perl\site\lib\auto\Glib\Glib.a" "C:\STRAWB~1\perl\site\lib\auto\Cairo\Cairo.a"
    is missing. Add that at the beginning of the EXTRALIBS and the LDLOADLIBS entries in the generated Makefile, and then re-run gmake test.
    (It's probably important that there's a space between "...auto\Cairo\Cairo.a" and "C:\msys64\mingw64\lib\libcairo-gobject.a"...)

    If that doesn't work, start from scratch again:
    run gmake realclean
    run perl Makefile.PL
    insert the missing entries into the beginning EXTRALIBS and LDLOADLIBS.
    run gmake test

    If you still get undefined references, just list them out for us.
    UPDATE: Oh ... and just check that the 2 files "C:\STRAWB~1\perl\site\lib\auto\Glib\Glib.a" and "C:\STRAWB~1\perl\site\lib\auto\Cairo\Cairo.a" do exist.

    Cheers,
    Rob

      Hi Rob. Thanks I put those in but had to do glib.xs.dll but that worked.

      I got to Gtk3 but it needed Glib-Object-Introspection. This just gives me the 4 lines below which are undefined reference

      C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: GObjectIntrospection.o:GObjectIntrospection.c:(.text+0x26d2): undefined reference to `__imp_g_module_open'

      C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: GObjectIntrospection.o:GObjectIntrospection.c:(.text+0x26e6): undefined reference to `__imp_g_module_symbol'

      C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: GObjectIntrospection.o:GObjectIntrospection.c:(.text+0x2702): undefined reference to `__imp_g_module_close'

      C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: GObjectIntrospection.o:GObjectIntrospection.c:(.text+0x27b5): undefined reference to `__imp_g_module_close'

      Its getting there

      Thanks Mike

        I think they're resolved by MSYS2's libgmodule-2.0.dll.a. So you'll need to do the rename dance for that (and for libffi.dll.a, if you haven't already).
        If that still gives you trouble, I'll probably need to see the EXTRALIBS entry in the Makefile.

        UPDATE: Note that gmake test should just spit out a message that the test script was not run because the test script was not built (for each of the test scripts).

        Cheers,
        Rob