in reply to Re: gmake error on Glib compile
in thread gmake error on Glib compile
Hi Rob thanks for your reply. Sorry its taken me while to get back to this. I installed MSYS2 and its pkg-config.exe package. It is definitely in the PATH, I have tested that. result of echo %PKG_CONFIG_PATH% is C:\gtk+\lib\pkgconfig;c:\gtk+\include\glib-2.0;c:\gtk+\lib\glib-2.0\include;c:\gtk+\lib; Unfortunately I still get the same when I run gmake test lots of unedified reference. Is it just the Makefile you would need and am I able to upload it here? Thanks Mike
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: gmake error on Glib compile
by syphilis (Archbishop) on Aug 21, 2023 at 14:05 UTC | |
I've just been working through building Glib-1.3293 on my 64-bit perl-5.38.0 on Windows 11. You'll want the mingw-w64 packages (which will be automatically installed into your MSYS2/mingw64 folder). Here are my notes: See how you go with that. There's some paths there that will need to be modified to match your set up. The stuff about the renaming of the various libs is a bit of a nuisance. I'm hoping to eventually find a less hackish way of dealing with it. Basically, you want the Glib build to use the shared libraries (dlls), but EU::MM generates a Makefile that references the static libs - eg .../mingw64/lib/libintl.a instead of .../mingw64/lib/libintl.dll.a. (If you run 'perl Makefile.PL' and have a look at the EXTRALIBS and LDLOADLIBS entries in the generated Makefile, you'll see what I mean.) This ought to be fixed properly, but in the meantime I've just renamed libintl.a to libintl.a_static, and copied libintl.dll.a to libintl.a. (And do the same for the other libs I've specified.) So ... libintl.a and libintl.dll.a end up being the same import library, and libintl.a_static is the (effectively hidden) static lib. Here's the rest of my notes at this stage: That's as far as I've got, so far. (Next up is to install Gtk3.) Sorry - those notes are clear to me, but just ask me about the bits that are unclear to you. UPDATE: If you're using Strawberry Perl, those "Glib.dll", "Cairo.dll" and "Pango.dll" entries will need to be altered to "Glib.xs.dll", "Cairo.xs.dll" and "Pango.xs.dll" Cheers, Rob | [reply] [d/l] [select] |
by syphilis (Archbishop) on Aug 22, 2023 at 08:30 UTC | |
Notes: Tonight, repeat those builds using Strawberry Perl 5.38.0, built against the same Gtk2 and GTk3 libraries. Strawberry will actually create the "Glib.a", "Cairo.a" and "Pango.a" files that my own build of perl did not. Turns out that this happens because I had ExtUtils-Depends-0.8001, whereas SP has ExtUtils-Depends-0.8000. I'll provide notes of how those same modules fare on Strawberry when it's all done Cheers, Rob. | [reply] [d/l] |
by syphilis (Archbishop) on Aug 22, 2023 at 12:05 UTC | |
Cheers, Rob | [reply] [d/l] |
by syphilis (Archbishop) on Aug 23, 2023 at 14:15 UTC | |
by swl (Prior) on Aug 24, 2023 at 23:19 UTC | |
| |
by Anonymous Monk on Aug 23, 2023 at 10:16 UTC | |