On 28 Sep 2009, at 17:27, William Stein wrote:
On Mon, Sep 28, 2009 at 9:14 AM, John Hunter <jdh2...@gmail.com> wrote:On Mon, Sep 28, 2009 at 10:48 AM, William Stein <wst...@gmail.com> wrote:If you could just try running your matplotlib build on bsd.math.washington.edu and reporting about whether or not it works,that would be very helpful, since it will indicate whether the problem is somehow in Sage or in pyCXX or Matplotlib itself or something else.I was able to build into a mostly clean environment (rebuild all deps zlip, freetype, png) using my OSX make file in, but I had to update the MACOSX_DEPLOYMENT_TARGET to 10.6 (I've committed this to svn HEAD). PREFIX=~/devtest make -f make.osx fetch deps mpl_build mpl_install But even simple tests are failing with:: jdh2...@bsd:~> LD_LIBRARY_PATH=~/devtest/lib/ PYTHONPATH=~/devtest/lib/python2.6/site-packages/ /usr/bin/python -c 'import matplotlib; matplotlib.use("Agg"); from matplotlib.pyplot import *; plot([1,2,3]); savefig("test")' Traceback (most recent call last): File "<string>", line 1, in <module>File "/Users/jdh2358/devtest//lib/python2.6/site-packages/ matplotlib/pyplot.py",line 7, in <module> from matplotlib.figure import Figure, figaspectFile "/Users/jdh2358/devtest//lib/python2.6/site-packages/ matplotlib/figure.py",line 16, in <module> import artistFile "/Users/jdh2358/devtest//lib/python2.6/site-packages/ matplotlib/artist.py",line 6, in <module> from transforms import Bbox, IdentityTransform, TransformedBbox, TransformedPathFile "/Users/jdh2358/devtest//lib/python2.6/site-packages/ matplotlib/transforms.py",line 34, in <module> from matplotlib._path import affine_transformImportError: /Users/jdh2358/devtest/lib/python2.6/site-packages/ matplotlib/_path.so:no appropriate 64-bit architecture (see "man python" for running in 32-bit mode)
This error has nothing to do the PyCXX isn't it a build problem not crating a fat binary with -arch x86_64 for _path.so. Use lipo -info to see what is
inside _path.so.
I'm attaching my build output in case anyone sees anything that mightbe triggering this 32bit/64bit problem (see attached for full output).I did not rebuild numpy and this may be the problem since the failure is in the _path module. I'll give that a try nextI think it's definitely an issue with PyCXX. I installed the latest version of PyCXX and tried their test example program, and got the dreaded "Abort trap":
bash-3.2$ python Python 2.6.2 (r262:71600, Sep 27 2009, 13:41:53) [GCC 4.2.1 (Apple Inc. build 5646)] on darwin Type "help", "copyright", "credits" or "license" for more information.import CXX.exampleCXX is installed. The support files you need are in the PYTHON/etc/CXX directory. The include files are in the distutils include path already. Just refer to them as "CXX/CXX_Objects.h", etc. range object created 0x1003140b0 range object destroyed 0x1003140b0CXX.example.test()Example Test starting Trying to convert a NULL to an Py::Int Abort trap
bash-3.2$ pwd/Users/was/build/sage-4.1.2.alpha4/spkg/build/matplotlib/trunk/ matplotlib/pycxx-6.1.1/Demo/Python2---- Note that installing PyCXX and their test program was not easy. I watched their "python setup.py install" fail repeatedly, then I would copy missing files where they should go, and iterate (about 6 times
I never use the setup.py - I keep trying to delete it from the kits but have users want
it and contribute fixes.I do not recommend installing PyCXX into a system for a couple of reasons.
On one system you may well end up using more then one version of PyCXX.For example one older version of maintenance and a newer version for new development.
YOu may have more then one project using PyCXX that need compiler options that conflict. If you install PyCXX into the system the object code will be wrong
so some projects.Your experience is convincing me to delete setup.py to avoid this in future.
However the tests do all work on 10.6. You will need a new make file to use
Apple's python 2.6.1. The PyCXX 6.1.1 kit does not have one to do this.
example_mac_apple_py26.mak
Description: Binary data
Save it to the top of the PyCXX files, where all the other make files are.
Then you can build and run all tests with: $ make -f example_mac_apple_py26.mak clean test All the tests will pass without error.Attached is the log of the build and test on Mac OS X 10.6.1 I ran just now to confirm this.
py26.log
Description: Binary data
I suspect that the PyCXX that you installed with setup.py is not correct.
I suggest you delete it from out of the system and point directly to the headers and C and C++ files you need out of a exploded tarball. This is what I do for PySVN for example.
I've cc'd the PyCXX maintainer Barry Scott. Barry, do you have access to an OS X 10.6 install, since it seems PyCXX is broken there? If not, I can give you an account on a machine at University of Washington. PyCXX is the single component of Sage (http://sagemath.org) that is holding us back from finishing the OS X 10.6 port. -- William
Let me know how else I can help. Barry
------------------------------------------------------------------------------ Come build with us! The BlackBerry® Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9-12, 2009. Register now! http://p.sf.net/sfu/devconf
_______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel