2008-10-03 84 views
2

我一直无法为英特尔Mac OS X 10.5.5构建P4Python如何构建和安装P4Python for Mac OS X?

这是我的步骤:

  1. 我下载p4python.tgz(从 http://filehost.perforce.com/perforce/r07.3/tools/)和扩展 成 “P4Python-2007.3”。
  2. 我下载了p4api.tar(从 http://filehost.perforce.com/perforce/r07.3/bin.macosx104x86/) 并将其扩展为“p4api-2007.3.143793”。
  3. 我将“p4api-2007.3.143793”放入“P4Python-2007.3”并编辑为 setup.cfg以设置“p4_api =。/ p4api-2007.3.143793”。
  4. 我增加了行 'extra_link_args = [ “-framework”, “碳”]' 到 setup.py后:

    elif unameOut[0] == "Darwin": 
        unix = "MACOSX" 
        release = "104" 
        platform = self.architecture(unameOut[4]) 
    
  5. 我跑python setup.py build,并得到:

$ python setup.py build

API Release 2007.3 
running build 
running build_py 
running build_ext 
building 'P4API' extension 
gcc -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -DID_OS="MACOSX104X86" -DID_REL="2007.3" -DID_PATCH="151416" -DID_API="2007.3" -DID_Y="2008" -DID_M="04" -DID_D="09" -I./p4api-2007.3.143793 -I./p4api-2007.3.143793/include/p4 -I/build/toolchain/mac32/python-2.4.3/include/python2.4 -c P4API.cpp -o build/temp.darwin-9.5.0-i386-2.4/P4API.o -DOS_MACOSX -DOS_MACOSX104 -DOS_MACOSXX86 -DOS_MACOSX104X86 
cc1plus: warning: command line option "-Wstrict-prototypes" is valid for C/ObjC but not for C++ 
P4API.cpp: In function âint P4Adapter_init(P4Adapter*, PyObject*, PyObject*)â: 
P4API.cpp:105: error: âPy_ssize_tâ was not declared in this scope 
P4API.cpp:105: error: expected `;' before âposâ 
P4API.cpp:107: error: âposâ was not declared in this scope 
P4API.cpp: In function âPyObject* P4Adapter_run(P4Adapter*, PyObject*)â: 
P4API.cpp:177: error: âPy_ssize_tâ was not declared in this scope 
P4API.cpp:177: error: expected `;' before âiâ 
P4API.cpp:177: error: âiâ was not declared in this scope 
error: command 'gcc' failed with exit status 1 

which gcc returns/usr/bin/gcc和gcc -v回报:

Using built-in specs. 
Target: i686-apple-darwin9 
Configured with: /var/tmp/gcc/gcc-5465~16/src/configure 
--disable-checking -enable-werror --prefix=/usr --mandir=/share/man 
--enable-languages=c,objc,c++,obj-c++ 
--program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ 
--with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib 
--build=i686-apple-darwin9 --with-arch=apple --with-tune=generic 
--host=i686-apple-darwin9 --target=i686-apple-darwin9 
Thread model: posix 
gcc version 4.0.1 (Apple Inc. build 5465) 

python -V返回的Python 2.4.3。

+0

它很可能是与LC_ALL做编译= C有用这样GCC输出普通的报价,而不是扩展字符。 – 2008-10-04 09:44:14

回答

1

较新版本2008.1将建立与Python 2.4。

我已经发布了在我的P4Python页面上做的那些小修改,但是他们被转入官方版本。

罗伯特

1

http://bugs.mymediasystem.org/?do=details&task_id=676表明Py_ssize_t在Python 2.5中添加的,所以它不会与Python 2.4工作(无一些修改)。

无论是安装/编译自己的Python 2.5/2.6的副本,或制定出如何改变P4Python,或寻找替代的python-的Perforce库。