2011-08-22 74 views
1

試圖在OS X Snow Leopard上安裝PyCairo。在這個網站上有很多關於它的問題,但是我收到了編譯錯誤,這是我以前從未見過的。在OS X Snow Leopard上安裝PyCairo或Py2Cairo

這裏是我的環境變量...

PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig/ 
PYTHON=PYTHON3 

這裏是我的WAF配置是什麼樣子:

TeaMac:py2cairo itadmin$ ./waf configure 
    ./options() 
Setting top to       : /Users/itadmin/Sites/py2cairo 
Setting out to       : /Users/itadmin/Sites/py2cairo/build_directory 
    ./configure() 
Checking for 'gcc' (c compiler)   : ok 
Checking for program python    : PYTHON3 
python executable 'PYTHON3' different from sys.executable '/usr/bin/python' 
Checking for python version    : (3, 2, 1, 'final', 0) 
Checking for library python3.2   : not found 
Checking for library python3.2   : yes 
Checking for program python3.2-config : /usr/local/bin/python3.2-config 
Checking for header Python.h    : yes 
Checking for program pkg-config   : /usr/local/bin/pkg-config 
Checking for 'cairo' >= 1.10.0   : yes 
Configuration: 
PREFIX         : /usr/local 
LIBDIR         : /usr/local/lib 
'configure' finished successfully (0.580s) 

而這裏的$ ./waf build一步的污穢:

[random section of file where GCC errors start coming up...] 
../src/surface.c: In function 'xlib_surface_get_depth': 
../src/surface.c:1418: warning: return makes pointer from integer without a cast 
../src/surface.c: In function 'xlib_surface_get_height': 
../src/surface.c:1423: warning: return makes pointer from integer without a cast 
../src/surface.c: In function 'xlib_surface_get_width': 
../src/surface.c:1428: warning: return makes pointer from integer without a cast 
../src/surface.c: At top level: 
../src/surface.c:1441: warning: initialization makes integer from pointer without a cast 
../src/surface.c:1459: warning: initialization makes pointer from integer without a cast 
../src/surface.c:1467: warning: initialization from incompatible pointer type 
../src/surface.c:1470: warning: initialization from incompatible pointer type 
../src/surface.c:1477: warning: initialization from incompatible pointer type 
lipo: can't figure out the architecture type of: /var/tmp//ccuzD4lS.out 
lipo: can't figure out the architecture type of: /var/tmp//ccCSYwzk.out 
Waf: Leaving directory `/Users/itadmin/Sites/py2cairo/build_directory' 
Build failed 
-> task failed (exit status 1): 
     {task 4312417936: c cairomodule.c -> cairomodule.c.1.o} 
['/usr/bin/gcc', '-fPIC', '-compatibility_version', '1', '-current_version', '1', '-arch', 'i386', '-arch', 'x86_64', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-arch', 'i386', '-arch', 'x86_64', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-fno-strict-aliasing', '-fno-common', '-dynamic', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-arch', 'i386', '-arch', 'x86_64', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-fno-strict-aliasing', '-I/Users/itadmin/Sites/py2cairo/build_directory/src', '-I/Users/itadmin/Sites/py2cairo/src', '-I/usr/local/Cellar/cairo/1.10.2/include/cairo', '-I/usr/local/Cellar/pixman/0.22.0/include/pixman-1', '-I/usr/local/include/libpng15', '-I/usr/X11/include', '-I/usr/X11/include/freetype2', '-I/Library/Frameworks/Python.framework/Versions/3.2/include/python3.2m', '-DNDEBUG', '../src/cairomodule.c', '-c', '-o', 'src/cairomodule.c.1.o'] 
-> task failed (exit status 1): 
     {task 4312418384: c pattern.c -> pattern.c.1.o} 
['/usr/bin/gcc', '-fPIC', '-compatibility_version', '1', '-current_version', '1', '-arch', 'i386', '-arch', 'x86_64', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-arch', 'i386', '-arch', 'x86_64', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-fno-strict-aliasing', '-fno-common', '-dynamic', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-arch', 'i386', '-arch', 'x86_64', '-isysroot', '/Developer/SDKs/MacOSX10.6.sdk', '-fno-strict-aliasing', '-I/Users/itadmin/Sites/py2cairo/build_directory/src', '-I/Users/itadmin/Sites/py2cairo/src', '-I/usr/local/Cellar/cairo/1.10.2/include/cairo', '-I/usr/local/Cellar/pixman/0.22.0/include/pixman-1', 
[GCC errors galore for 500 lines...] 
+0

我目前的解決方案:不要打擾並在Fedora上使用'yum'。 :) – batman

回答

0

針對此問題找到了解決方案: https://bugs.freedesktop.org/show_bug.cgi?id=37414

基本上,你可以通過修改「build_directory/c4che/_cache.py」文件來解決這個問題。這個問題源於waf嘗試構建多個不同的-arch選項。快速修復 - 註釋掉包含'-arch'的每一行,並且您的構建會成功。

相關問題