Alien::wxWidgets install fails on OSX10.10
Asked Answered
L

4

5

I'm trying to install Alien::wxWidgets version 0.67 with wxWidgets version 3.0.2, but no matter what I do, I get the following error:

checking if C compiler (clang -mmacosx-version-min=10.5) works with SDK/version options... configure: error: in `/Users/David/.cpan/build/Alien-wxWidgets-0.67-GGkXTu/wxWidgets-3.0.2/bld':
configure: error: no.  Try a different SDK
See `config.log' for more details
system: echo exit | sh ../configure --prefix=/Users/David/perl5/perlbrew/perls/perl-5.16.0/lib/site_perl/5.16.0/darwin-2level/Alien/wxWidgets/osx_cocoa_3_0_2_uni --with-osx_cocoa --with-opengl --disable-compat24 --enable-unicode  --disable-monolithic --disable-universal_binary  --enable-graphics_ctx CC=clang CXX=clang++ CXXFLAGS="-stdlib=libc++ -std=c++11" OBJCXXFLAGS="-stdlib=libc++ -std=c++11" LDFLAGS=-stdlib=libc++: 256 at Build line 60.

I've tried building with flags --with-macosx-sdk=10.5, --with-macosx-sdk=10.10, --without-macosx-sdk, --with-macosx-sdk=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk/ but none of them worked.

Here's the part of the config.log, where I see the error, but I have no idea how to solve it:

configure:16429: checking for gcc
configure:16456: result: clang
configure:16685: checking for C compiler version
configure:16694: clang --version >&5
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
configure:16705: $? = 0
configure:16694: clang -v >&5
Apple LLVM version 7.0.0 (clang-700.0.72)
Target: x86_64-apple-darwin14.5.0
Thread model: posix
configure:16705: $? = 0
configure:16694: clang -V >&5
clang: error: argument to '-V' is missing (expected 1 value)
clang: error: no input files
configure:16705: $? = 1
configure:16694: clang -qversion >&5
clang: error: unknown argument: '-qversion'
clang: error: no input files
configure:16705: $? = 1
configure:16725: checking whether the C compiler works
configure:16747: clang   -stdlib=libc++ conftest.c  >&5
configure:16751: $? = 0
configure:16799: result: yes
configure:16802: checking for C compiler default output file name
configure:16804: result: a.out
configure:16810: checking for suffix of executables
configure:16817: clang -o conftest   -stdlib=libc++ conftest.c  >&5
configure:16821: $? = 0
configure:16843: result: 
configure:16865: checking whether we are cross compiling
configure:16873: clang -o conftest   -stdlib=libc++ conftest.c  >&5
configure:16877: $? = 0
configure:16884: ./conftest
configure:16888: $? = 0
configure:16903: result: no
configure:16908: checking for suffix of object files
configure:16930: clang -c   conftest.c >&5
configure:16934: $? = 0
configure:16955: result: o
configure:16959: checking whether we are using the GNU C compiler
configure:16978: clang -c   conftest.c >&5
configure:16978: $? = 0
configure:16987: result: yes
configure:16996: checking whether clang accepts -g
configure:17016: clang -c -g  conftest.c >&5
configure:17016: $? = 0
configure:17057: result: yes
configure:17074: checking for clang option to accept ISO C89
configure:17137: clang  -c   conftest.c >&5
configure:17137: $? = 0
configure:17150: result: none needed
configure:17183: checking whether we are using the Intel C compiler
configure:17203: clang -c   conftest.c >&5
conftest.c:18:17: error: use of undeclared identifier 'choke'
                choke me
                ^
1 error generated.
configure:17203: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "wxWidgets"
| #define PACKAGE_TARNAME "wxwidgets"
| #define PACKAGE_VERSION "3.0.2"
| #define PACKAGE_STRING "wxWidgets 3.0.2"
| #define PACKAGE_BUGREPORT "[email protected]"
| #define PACKAGE_URL ""
| #define __BSD__ 1
| #define __DARWIN__ 1
| #define TARGET_CARBON 1
| /* end confdefs.h.  */
| 
| int
| main ()
| {
| 
|              #ifndef __INTEL_COMPILER
|                 choke me
|              #endif
| 
|   ;
|   return 0;
| }
configure:17213: result: no
configure:17936: checking how to run the C preprocessor
configure:17967: clang -E  conftest.c
configure:17967: $? = 0
configure:17981: clang -E  conftest.c
conftest.c:12:10: fatal error: 'ac_nonexistent.h' file not found
#include <ac_nonexistent.h>
         ^
1 error generated.
configure:17981: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "wxWidgets"
| #define PACKAGE_TARNAME "wxwidgets"
| #define PACKAGE_VERSION "3.0.2"
| #define PACKAGE_STRING "wxWidgets 3.0.2"
| #define PACKAGE_BUGREPORT "[email protected]"
| #define PACKAGE_URL ""
| #define __BSD__ 1
| #define __DARWIN__ 1
| #define TARGET_CARBON 1
| /* end confdefs.h.  */
| #include <ac_nonexistent.h>

If you have any idea how to solve this issue and get wxWidgets working on OSX 10.10, I'd be really grateful.

Lucialucian answered 21/9, 2015 at 7:33 Comment(0)
P
6

Add the following:

--with-macosx-version-min=10.11

Punk answered 19/2, 2016 at 3:27 Comment(1)
I get the same error when installing Wx with sudo cpanm Wx. Where exactly to I add this?Nightmare
S
1

This is not the right part of config.log, this error is normal/expected, you should look below to see the real one. Without seeing it, it's hard to be sure but I think -mmacosx-version-min=10.5 is the culprit, your SDK could be too new to support 10.5. Try either selecting a different SDK if you have an older one installed (look under /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs to check) or hunt down where this 10.5 comes from and replace it with 10.7 which is supported by 10.10 SDK (not sure about 10.11).

Seethe answered 21/9, 2015 at 14:30 Comment(2)
I've uploaded the full config.log to pastebin, since I doesn't really know what to look for in it: config.log I only have 10.11 installed, so I can't select another one manually.Lucialucian
This confirms what I wrote, look at the line 862. You need to use 10.7 as the minimal version with this SDK, not 10.5. Unfortunately I can't help you further as I don't know where exactly does this "10.5" come from, but you should be able to find it in Alien::wxWidgets sources.Seethe
L
0

This is how I got to to mostly build under Mac OS 10.11.4:

  1. Download Alien::wxWidgets from https://metacpan.org/pod/Alien::wxWidgets
  2. tar xzf Alien-wxWidgets-0.67.tar.gz
  3. cd Alien-wxWidgets
  4. perl ./Build.PL --wxWidgets-extraflags="--with-macosx-versin-min=10.11"
  5. ./Build

After several minutes of compiling, the below error stopped the build process:

../src/osx/webview_webkit.mm:936:25: error: cannot initialize a variable of type 'WebBackForwardList *' with an rvalue of type 'WKBackForwardList *'
    WebBackForwardList* history = [m_webView backForwardList];
                        ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
../src/osx/webview_webkit.mm:954:25: error: cannot initialize a variable of type 'WebBackForwardList *' with an rvalue of type 'WKBackForwardList *'
    WebBackForwardList* history = [m_webView backForwardList];
                        ^         ~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 warnings and 2 errors generated.
make: *** [webviewdll_osx_webview_webkit.o] Error 1
system: make all: 512 at ./Build line 60.

So --with-macosx-versin-min=10.11 gets us farther into the build process, but not (yet) to a successful build. :-(

Linnell answered 26/5, 2016 at 10:52 Comment(0)
J
0

I used the steps from @Cal above, but with the patch from wxWidgets project to fix the m_webView type mismatch errors. The wxWidgets issue is tracked here: http://trac.wxwidgets.org/ticket/16329 and the patch is here: http://trac.wxwidgets.org/attachment/ticket/16329/0001-using-proper-types-for-webkit-variants-see-16329.patch which gives you a html view of the patch. The download link is here: http://trac.wxwidgets.org/raw-attachment/ticket/16329/0001-using-proper-types-for-webkit-variants-see-16329.patch

It looks like they've fixed this in trunk for releases >= 3.1 and this is the proposed patch for a possible 3.0.3, but since no action for 18 mos., perhaps they'll just skip it and this will go away in the next release.

I repackaged the patch to work with Alien::wxWidgets Build.PL here: http://markwal.github.io/patches/Alien-wxWidgets-0.67-El-Capitan.patch

So to recap, the steps I used to build under Mac OS X El Capitan 10.11.6:

  1. Download Alien::wxWidgets from https://metacpan.org/pod/Alien::wxWidgets
  2. tar xvf Alien-wxWidgets-0.67.tar.gz
  3. Download the patch from http://markwal.github.io/patches/Alien-wxWidgets-0.67-El-Capitan.patch
  4. cd Alien-wxWidgets-0.67
  5. patch -p1 < ../Alien-wxWidgets-0.67-El-Capitan.patch
  6. perl ./Build.PL --wxWidgets-extraflags="--with-macosx-version-min=10.11"
  7. perl Build
  8. perl Build test
  9. perl Build install
Junina answered 3/9, 2016 at 0:31 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.