Pregunta

No he podido construir P4Python para un Intel Mac OS X 10.5.5.

Estos son mis pasos:

  1. Descargué p4python.tgz (de http://filehost.perforce.com/perforce/r07.3/tools/ ) y expandido en "P4Python-2007.3".
  2. Descargué p4api.tar (de http://filehost.perforce.com/perforce/r07.3/bin .macosx104x86 / ) y lo expandió en "p4api-2007.3.143793".
  3. Coloqué "p4api-2007.3.143793" en "P4Python-2007.3" y editado setup.cfg para establecer " p4_api =. / p4api-2007.3.143793 " ;.
  4. Agregué la línea 'extra_link_args = [" -framework " ;, " Carbon "]' a setup.py después de:

    elif unameOut[0] == "Darwin":
        unix = "MACOSX"
        release = "104"
        platform = self.architecture(unameOut[4])
    
  5. Ejecuté python setup.py build y obtuve:

$ 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

que gcc devuelve / usr / bin / gcc y gcc -v devuelve:

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 devuelve Python 2.4.3.

¿Fue útil?

Solución

La versión más reciente 2008.1 se compilará con Python 2.4.

Había publicado los cambios menores necesarios para hacer eso en mi página P4Python, pero se incluyeron en la versión oficial.

Robert

Otros consejos

De http://bugs.mymediasystem.org/?do=details&task_id= 676 sugiere que Py_ssize_t se agregó en python 2.5, por lo que no funcionará (sin algunas modificaciones) con python 2.4.

Instale / compile su propia copia de python 2.5 / 2.6, o descubra cómo cambiar P4Python, o busque una biblioteca alternativa de rendimiento de python.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top