Как мне собрать и установить P4Python для Mac OS X? - PullRequest
2 голосов
/ 03 октября 2008

Мне не удалось собрать P4Python для Intel Mac OS X 10.5.5.

Вот мои шаги:

  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", "Carbon"] "в 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 возвращает / 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.

Ответы [ 3 ]

1 голос
/ 26 января 2009

Более новая версия 2008.1 будет собираться с Python 2.4.

Я разместил незначительные изменения, необходимые для этого, на своей странице P4Python, но они были перенесены в официальную версию.

Роберт

1 голос
/ 04 октября 2008

С 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.

0 голосов
/ 06 октября 2008

Очень устарел, но, может быть, вы можете использовать http://public.perforce.com:8080/@md=d&cd=//guest/miki_tebeka/p4py/&c=5Fm@//guest/miki_tebeka/p4py/main/?ac=83 сейчас

...