On 2016-07-05 at 06:05:18 +0000, RAPPAZ Francois wrote: > Hi Zaki > > Thanks for the proposal. The perl you are using is installed by MSYS2, is it > ? > > I'm using strawberry perl. And unfortunately libwinpthread-1.dll in > strawberry is not compatible with the one in msys64/mingw32.
Yes, the Perl and libgtk I am using are built by the MSYS2 project. I do eventually plan on putting out similar scripts so that Strawberry Perl can use MSYS2/MinGW64 libgtk, but that will come later down the road when I work out the specifics for PkgConfig.pm under Strawberry Perl. I've started working it out on this issue <https://github.com/PerlPkgConfig/perl-PkgConfig/issues/27>, so I'm hopeful that it will be straightforward. > A naïve question sorry: using perl from MSYS2, can you start a perl script > from the "normal" MS cmd.exe shell ? Yes, I can. The following works: C:\Users\zaki> set PATH=C:\msys64\mingw64\bin;%PATH% C:\Users\zaki> perl \msys64\home\zaki\curie\bin\curie.pl As long as the `bin\` directory is in the %PATH%, I can access all the necessary DLLs needed for GTK (libgtk, libglib) and Perl (XS DLLs for Gtk3.pm, Glib.pm, Cairo.pm). The only problem is that when installing the Perl modules (Gtk3.pm, Glib.pm, Cairo.pm), I needed to insert :nosearch into the ExtUtils::MakeMaker LIBS parameter. Part of my build tools does this automatically (`EUMMnosearch.{sh,pm}` in <https://github.com/project-renard/devops/tree/master/script/mswin>). A quick overview of how MSYS2 works is that there are 3 subsystems: - MSYS2 which is used to run a Unix-like environment that is self-contained like Cygwin. Code compiled here depends upon a compatibility layer. - MinGW64 and MinGW32 which are 64-bit and 32-bit subsystems which compile DLLs that are native to Windows and can be distributed without the MSYS2 system. When you choose to install things using the `pacman` package manager that comes with MSYS2, you have to choose which subsystem you want to target (e.g., there is a Perl for MSYS2, a Perl for MinGW32, and a Perl for MinGW64). More details are at <https://sourceforge.net/p/msys2/wiki/MSYS2%20introduction/>. Regards, - Zaki Mughal > > François > > > -----Original Message----- > > From: Zakariyya Mughal [mailto:zaki.mug...@gmail.com] > > Sent: mardi, 5. juillet 2016 07:13 > > To: RAPPAZ Francois > > Cc: "Torsten Schönfeld"; gtk-perl-list@gnome.org > > Subject: Re: Compiling Glib 2.16.5 on strawberry perl > > > > On 2016-06-30 at 07:50:30 +0000, RAPPAZ Francois wrote: > > > Finally I succeed to compile this Gtk stuff. > > > > > > The important thing is to change the prefix line in the pc files in > > gtk+\lib\pkgconfig with prefix=${pcfiledir}/../.. > > > > > > The pc file to choose is the one corresponding to the first library > > being searched in the perl Makefile.pl step for a given package. > > > > > > Once this change is done, there is still the need to indicate where > > all the header files are using INC="-Ipath/to/file -I..." > > > but LIBS="..." is not needed. > > > > > > With that the compiling + linking goes without undefined reference > > errors. > > > > > > Two remarks: > > > - why did nobody ever told me that on this list ? Did no one try to > > compile this stuff on windows ? > > > - wxWidget is also based on external libs. It is set up in two steps > > Alien::wxWidget + Wx and it's much, much, easier to install. > > > > I have been compiling Gtk3 Perl packages using MSYS2 and find it much > > easier to do consistently. > > > > Would you be interested in a set of scripts that you can use on your > > machines or on Appveyor? To give an example of what I was able to > > accomplish, see the build artifact at > > <https://ci.appveyor.com/project/zmughal/release/build/1.0.20/artifacts > > >. > > > > That is a ZIP file that contains Perl, GTK+3, GTK themes, etc. along > > with a PAR::Packer-based executable that starts the application (a PDF > > reader based on MuPDF). I hope to take this and build an MSI installer > > with it soon. > > > > Cheers, > > - Zaki Mughal > > > > > > > > François > > > > > > > > > > -----Original Message----- > > > > From: gtk-perl-list [mailto:gtk-perl-list-boun...@gnome.org] On > > > > Behalf Of "Torsten Schönfeld" > > > > Sent: mercredi, 29. juin 2016 11:39 > > > > To: gtk-perl-list@gnome.org > > > > Subject: Re: Compiling Glib 2.16.5 on strawberry perl > > > > > > > > "RAPPAZ Francois" <francois.rap...@unifr.ch>: > > > > > pkg-config --libs glib-2.0 > > > > > -Lc:/devel/target/0ca5583385db1135a53cf9e275815b19/lib -lglib-2.0 > > > > > - > > > > lintl > > > > > > > > There's your problem. You seem to have multiple conflicting > > > > installations: C:/prog/gtk+ vs. C:/devel, and maybe others. I > > > > suggest cleaning this up, or at least cleaning up your PATH and > > > > PKG_CONFIG_PATH environment variables, and trying again. > > > > _______________________________________________ > > > > gtk-perl-list mailing list > > > > gtk-perl-list@gnome.org > > > > https://mail.gnome.org/mailman/listinfo/gtk-perl-list > > > _______________________________________________ > > > gtk-perl-list mailing list > > > gtk-perl-list@gnome.org > > > https://mail.gnome.org/mailman/listinfo/gtk-perl-list _______________________________________________ gtk-perl-list mailing list gtk-perl-list@gnome.org https://mail.gnome.org/mailman/listinfo/gtk-perl-list