On 4 May, 2007, at 18:11, James Boyle wrote:
INTEL Mac OS X 10.4.9 Macpython 2.5.1 I am having trouble building extensions onto my MacPython 2.5.1. The error for pynetcdf 0.7 is given below but I have had the same error on two other packages. It appears that the builds attempt to make a universal binary by default and attempt to link to a library that I have built as i386 only. The extent of my ignorance is that I would not even know how to build a universal library if I wanted to. These libraries HDF5 and netCDF4 have fairly complex build scripts. I would like to be able to turn off the mechanism that is forcing a universal build. The PPC part is a waste of space for me.Of course, my interpretation of the error might be completely off base.Appreciate any insight.
The easiest way to fix your problem is by patching setup.py and adding the following two arguments to all Extension definitions: extra_link_args=['-arch', 'i386'], extra_compile_args=['-arch', 'i386'],
This will tell distutils that you really want a i386 only extension instead of a universal one.
As Christofer mentions as well the best solution in the long run is teaching the libraries you're using to build as universal binaries. I have no idea how hard that would be.
Ronald
--Jim [krait:~/Desktop/pynetcdf-0.7] boyle5% python setup.py build running build running config_fc running build_src building extension "pynetcdf._netcdf" sources building data_files sources running build_py creating build creating build/lib.macosx-10.3-fat-2.5 creating build/lib.macosx-10.3-fat-2.5/pynetcdf copying ./__init__.py -> build/lib.macosx-10.3-fat-2.5/pynetcdf copying ./NetCDF.py -> build/lib.macosx-10.3-fat-2.5/pynetcdf copying ./netcdf_demo.py -> build/lib.macosx-10.3-fat-2.5/pynetcdf running build_ext customize UnixCCompiler customize UnixCCompiler using build_ext building 'pynetcdf._netcdf' extension compiling C sources C compiler: gcc -arch ppc -arch i386 -isysroot /Developer/SDKs/ MacOSX10.4u.sdk -fno-strict-aliasing -Wno-long-double -no-cpp-precomp -mno-fused-madd -fPIC -fno-common -dynamic -DNDEBUG -g -O3 -Wall - Wstrict-prototypes creating build/temp.macosx-10.3-fat-2.5 compile options: '-I/Users/boyle5/netcdf-3.6.2/include -I/Library/ Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/ numpy/core/include -I/Library/Frameworks/Python.framework/Versions/ 2.5/include/python2.5 -c' gcc: ./_netcdf.c ./_netcdf.c: In function 'PyNetCDFFile_Close':./_netcdf.c: In function 'PyNetCDFFile_Close': ./_netcdf.c:965: warning: passing argument 2 of 'PyDict_Next' from incompatible pointer type./_netcdf.c:965: warning: passing argument 2 of 'PyDict_Next' from incompatible pointer type ./_netcdf.c: In function 'PyNetCDFVariableObject_subscript': ./_netcdf.c:1822: warning: passing argument 3 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1822: warning: passing argument 4 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1822: warning: passing argument 5 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1842: warning: passing argument 3 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1842: warning: passing argument 4 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1842: warning: passing argument 5 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c: In function 'PyNetCDFVariableObject_subscript': ./_netcdf.c:1822: warning: passing argument 3 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1822: warning: passing argument 4 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1822: warning: passing argument 5 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1842: warning: passing argument 3 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1842: warning: passing argument 4 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1842: warning: passing argument 5 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c: In function 'PyNetCDFVariableObject_ass_subscript': ./_netcdf.c:1944: warning: passing argument 3 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1944: warning: passing argument 4 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1944: warning: passing argument 5 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1964: warning: passing argument 3 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1964: warning: passing argument 4 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1964: warning: passing argument 5 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c: In function 'PyNetCDFVariableObject_ass_subscript': ./_netcdf.c:1944: warning: passing argument 3 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1944: warning: passing argument 4 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1944: warning: passing argument 5 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1964: warning: passing argument 3 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1964: warning: passing argument 4 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c:1964: warning: passing argument 5 of 'PySlice_GetIndices' from incompatible pointer type ./_netcdf.c: At top level:./_netcdf.c:2009: warning: initialization from incompatible pointer type./_netcdf.c:2011: warning: 'intargfunc' is deprecated./_netcdf.c:2011: warning: initialization from incompatible pointer type./_netcdf.c:2012: warning: 'intargfunc' is deprecated./_netcdf.c:2012: warning: initialization from incompatible pointer type./_netcdf.c:2013: warning: 'intintargfunc' is deprecated./_netcdf.c:2013: warning: initialization from incompatible pointer type ./_netcdf.c:2014: warning: initialization from incompatible pointer type ./_netcdf.c:2015: warning: initialization from incompatible pointer type ./_netcdf.c:2019: warning: initialization from incompatible pointer type./_netcdf.c: At top level:./_netcdf.c:2009: warning: initialization from incompatible pointer type./_netcdf.c:2011: warning: 'intargfunc' is deprecated./_netcdf.c:2011: warning: initialization from incompatible pointer type./_netcdf.c:2012: warning: 'intargfunc' is deprecated./_netcdf.c:2012: warning: initialization from incompatible pointer type./_netcdf.c:2013: warning: 'intintargfunc' is deprecated./_netcdf.c:2013: warning: initialization from incompatible pointer type ./_netcdf.c:2014: warning: initialization from incompatible pointer type ./_netcdf.c:2015: warning: initialization from incompatible pointer type ./_netcdf.c:2019: warning: initialization from incompatible pointer type./_netcdf.c: In function 'PyNetCDFVariable_WriteArray': ./_netcdf.c:1626: warning: 'lastloop' may be used uninitialized in this function ./_netcdf.c: In function 'PyNetCDFVariable_WriteArray': ./_netcdf.c:1626: warning: 'lastloop' may be used uninitialized in this function gcc -arch i386 -arch ppc -isysroot /Developer/SDKs/MacOSX10.4u.sdk - bundle -undefined dynamic_lookup build/temp.macosx-10.3-fat-2.5/ _netcdf.o -L/Users/boyle5/netcdf-3.6.2/lib -lnetcdf -o build/ lib.macosx-10.3-fat-2.5/pynetcdf/_netcdf.so /usr/bin/ld: for architecture ppc /usr/bin/ld: warning /Users/boyle5/netcdf-3.6.2/lib/libnetcdf.a archive's cputype (7, architecture i386) does not match cputype (18) for specified -arch flag: ppc (can't load from it) _______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ Pythonmac-SIG maillist - Pythonmac-SIG@python.org http://mail.python.org/mailman/listinfo/pythonmac-sig