Re: Compiling Glib 2.16.5 on strawberry perl
- From: Zakariyya Mughal <zaki mughal gmail com>
- To: RAPPAZ Francois <francois rappaz unifr ch>
- Cc: "gtk-perl-list gnome org" <gtk-perl-list gnome org>
- Subject: Re: Compiling Glib 2.16.5 on strawberry perl
- Date: Tue, 5 Jul 2016 01:59:08 -0500
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 mughal 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-bounces 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 rappaz 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
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]