2016-04-03 14 views
5

Temelde, gerçekten bitmeyen this one ile aynıdır.Alien :: wxWidgets, OSX 10'da başarısız oluyor

Aynı sorunla karşı karşıyayım ve biraz daha ileri gittim. Yeni bir Macos sdk (10.11) izin vermek için kodu değiştirmek zorunda kaldı. Bu yüzden bir süre derlenmiş ama sonra bu nereye başarısız oldu:

❯❯❯ perl build 
Building Alien-wxWidgets 
/Users/guiohm/.cpan/build/Alien-wxWidgets-0.67-rVjMTK/wxWidgets-3.0.2/bld/bk-deps clang -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.7 -c -o wxtiff_tif_lzma.o -DNDEBUG -I../src/jpeg -I/Users/guiohm/.cpan/build/Alien-wxWidgets-0.67-rVjMTK/wxWidgets-3.0.2/bld/src/tiff/libtiff -I../src/tiff/libtiff -dynamic -fPIC -DPIC -D_FILE_OFFSET_BITS=64 -I/Users/guiohm/.cpan/build/Alien-wxWidgets-0.67-rVjMTK/wxWidgets-3.0.2/bld/lib/wx/include/osx_cocoa-unicode-3.0 -I../include -Wall -Wundef -O2 -fno-strict-aliasing -fno-common ../src/tiff/libtiff/tif_lzma.c 
../src/tiff/libtiff/tif_lzma.c:38:10: fatal error: 'lzma.h' file not found 
#include "lzma.h" 
     ^
1 error generated. 
make: *** [wxtiff_tif_lzma.o] Error 1 
system: make all: 512 at build line 68. 

❯❯❯ brew search 
lzma is now part of the xz formula. 

❯❯❯ brew info 
xz: stable 5.2.2 (bottled) 
General-purpose data compression with high compression ratio 
http://tukaani.org/xz/ 
/usr/local/Cellar/xz/5.2.2 (91 files, 1.4M) * 
    Poured from bottle 
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/xz.rb 
==> Options 
--universal 
    Build a universal binary 

❯❯❯ brew install xz 
Warning: xz-5.2.2 already installed 

❯❯❯ find/-name "lzma.h" 
/usr/local/Cellar/xz/5.2.2/include/lzma.h 
/usr/local/include/lzma.h 

❯❯❯ ll /usr/local/include/lzm* 
lrwxr-xr-x 1 guiohm admin 31 Oct 11 15:58 /usr/local/include/lzma -> ../Cellar/xz/5.2.2/include/lzma 
lrwxr-xr-x 1 guiohm admin 33 Oct 11 15:58 /usr/local/include/lzma.h -> ../Cellar/xz/5.2.2/include/lzma.h 

Ben yapılandırma günlükleri işaretlendiğinde garip şey şudur: Örneğin Bu bir (./wxWidgets-3.0.2/bld/src/tiff/config.log) LZMA dışındaki hatalar var,:

configure:18047: checking for lzma_code in -llzma 
configure:18072: clang -o conftest -g -O2 -Wall -W -stdlib=libc++ conftest.c -llzma -ljpeg -lz >&5 
configure:18072: $? = 0 
configure:18081: result: yes 
configure:18096: checking lzma.h usability 
configure:18096: clang -c -g -O2 -Wall -W conftest.c >&5 
configure:18096: $? = 0 
configure:18096: result: yes 
configure:18096: checking lzma.h presence 
configure:18096: clang -E conftest.c 
configure:18096: $? = 0 
configure:18096: result: yes 
configure:18096: checking for lzma.h 
configure:18096: result: yes 
configure:18199: checking for X 
configure:18307: clang -E conftest.c 
conftest.c:89:10: fatal error: 'X11/Xlib.h' file not found 
#include <X11/Xlib.h> 
     ^
1 error generated. 
configure:18307: $? = 1 
configure: failed program was: 
| /* confdefs.h */ 
| #define PACKAGE_NAME "LibTIFF Software" 
| #define PACKAGE_TARNAME "tiff" 

See the full version. ./wxWidgets-3.0.2/bld/config.log./wxWidgets-3.0.2/bld/config.log ile aynı veya daha az aynıdır.

Os10.10 SDK'ye izin vermek için kodu değiştirdiğimde, daha önce 10.8 veya 10.9'a kadar beklemek gerekiyordu. Bütün meselenin bundan sonra geldiğini düşünüyorum. Eski bir MacOS SDK'yı getirmeyi denemeli miyim?

Temel olarak, sadece Sx3d --gui'yi wxwidgets gerektiren Wx gerektiren bir kaynaktan derlemek istiyorum.

+0

Ve burada 'dolu bakın/WxWidgets-3.0.2/bld config.log' /:. Http://pastebin.com/raw/6d3zBSbj – guiohm

+0

garip biliyor wxWidgets derlemeye deneyebilirsiniz el ile, yani otomasyon olmadan? Sadece ../configure && make && make make yapın. – Igor

+1

'demleme kaldır xz' benim için düzeltildi. Kaynak: https://bugs.launchpad.net/kicad/+bug/1285317 – bits

cevap

2

Buradaki sorun bu -isysroot kullanmadığı için bu Libtiff yapılandırmak /usr/local altında lzma.h algılar, ama onun derleme nedeniyle SDK seçeneği, yapar ve onu bulmak için başarısız olur. Yapılması gereken en doğru şey, wxWidgets yapılandırmasında açıkça -I/usr/local/include kullanmak olacaktır, ancak şimdilik bunu atlamak için export CPATH=/usr/local/include LIBRARY_PATH=/usr/local/lib yaparak bunu yapabilmeniz gerekir. Alternatif olarak (ve IMHO tercihen) brew install tiff jpeg png (formüller adlarının doğru olduğundan emin olmayın, bunları kontrol edin), bu kitaplıkların yerleşik sürümlerini ilk etapta inşa etmekten kaçınmak için yapın.

İlgili konular