[p4python] P4Python build on Mac Os 10.5 Intel
wrivera at nikondev.com
Fri Apr 4 08:10:56 PDT 2008
I have been trying to build P4Python on a Intel Core Duo machine running
Mas Os 10.5 with the default install of python 2.5.
After downloading the p4api 2007-2 and the latest p4python 1-1 I
proceeded to follow the build instructions. Which returned the following
two errors on compilation:
P4Clientmodule.cc:344: error: invalid conversion from ‘int*’ to
P4Clientmodule.cc:344: error: initializing argument 2 of ‘int
PyDict_Next(PyObject*, Py_ssize_t*, PyObject**, PyObject**)’
lipo: can't figure out the architecture type of:
error: command 'gcc' failed with exit status 1
So looking into the output generated by "python setup.py build" I
noticed that -arch was being passed two times, -arch ppc and -arch
i386, to gcc so I decided to try and run the gcc command manually with
only the -arch i386 flag.
gcc -arch i386 -isysroot /Developer/SDKs/MacOSX10.4u.sdk
-fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd
-fno-common -dynamic -DNDEBUG -g -O3 -Ip4api-2007-2
P4Clientmodule.cc -o build/temp.macosx-10.3-i386-2.5/P4Clientmodule.o
This seemed to address the "can't figure out the architecture" and
failed with "invalid conversion from ‘int*’ to ‘Py_ssize_t*’".
So to address that error I opened the P4Clientmodule.cc source file and
changed line 342 from "int pos = 0;" to "Py_ssize_t pos = 0;"
I then tried another manual build via gcc with the command line listed
above. This resulted in a successful build.
After the manual build I ran "python setup.py install" and the
installation completed as expected.
I am now able to use the p4 module in python.
I would like to know if my changes are legitimate and if my P4 module
will work as expected.
Thank you in advance for your help.
More information about the p4python