Subject: | Alien::Wx produces binary incompatible builds on OSX10.9 and Perl 5.26.1 |
Date: | Wed, 13 Dec 2017 15:01:21 +0100 |
To: | bug-Alien-wxWidgets [...] rt.cpan.org |
From: | "bubnikv ." <bubnikv [...] gmail.com> |
Hello.
There seems to be a breaking change in Perl 5.26 on OSX installed through
the perlbrew system,
where the perl is built with -mmacosx-version-min=10.9 flag. This flag is
not respected by the Alien::Wx build system, and the resulting installed
Alien::Wx then somehow instructs the Perl Wx module to not use the
-mmacosx-version-min flag, which then makes the Wx XS module ABI
incompatible with the Perl binary.
I have solved the issue for myself by running the Build.PL with the
parameters
--wxWidgets-extraflags="--with-osx_cocoa --with-macosx-version-min=10.9
--with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.9.sdk"
Another issue has bitten me badly: By default the wxWidgets on OSX are
compiled and linked against the system wide (read installed from perlbrew)
libpng, libjpeg, libtiff. If I then bundle these libraries, my application
crashes on older CPUs due to invalid instructions. I think it makes sense
to force the Alien::Wx to use the builtin image libraries by default.
Thanks, Vojtech