Issues related to installing PyLith.
OS X binary
Errors on starting PyLith
'import site' failed; use -v for traceback --LOTS OF OUTPUT-- TypeError: stat() argument 1 must be encoded string without NULL bytes, not str
We have seen this error on Darwin system running OS X 10.5 and later. Files downloaded from the web are marked with an extra attribute that can prevent python from starting up properly. The best solution in these cases is to download !PyLith using command line tools:
mkdir pylith cd pylith curl -O http://www.geodynamics.org/cig/software/pylith/pylith-1.6.2-darwin-10.6.8.tgz tar -zxf pylith-1.6.2-darwin-10.6.8.tgz
Error on starting PyLith
ImportError: numpy.core.multiarray failed to import Traceback (most recent call last): File "/usr/bin/pylith", line 37, in <module> from pylith.apps.PyLithApp import PyLithApp File "/usr/lib/python2.6/site-packages/pylith/apps/PyLithApp.py", line 26, in <module> class PyLithApp(PetscApplication): File "/usr/lib/python2.6/site-packages/pylith/apps/PyLithApp.py", line 33, in PyLithApp class Inventory(PetscApplication.Inventory): File "/usr/lib/python2.6/site-packages/pylith/apps/PyLithApp.py", line 51, in Inventory from pylith.topology.MeshImporter import MeshImporter File "/usr/lib/python2.6/site-packages/pylith/topology/MeshImporter.py", line 28, in <module> class MeshImporter(MeshGenerator): File "/usr/lib/python2.6/site-packages/pylith/topology/MeshImporter.py", line 37, in MeshImporter class Inventory(MeshGenerator.Inventory): File "/usr/lib/python2.6/site-packages/pylith/topology/MeshImporter.py", line 58, in Inventory from pylith.meshio.MeshIOAscii import MeshIOAscii File "/usr/lib/python2.6/site-packages/pylith/meshio/MeshIOAscii.py", line 26, in <module> from MeshIOObj import MeshIOObj File "/usr/lib/python2.6/site-packages/pylith/meshio/MeshIOObj.py", line 26, in <module> from meshio import MeshIO as ModuleMeshIO File "/usr/lib/python2.6/site-packages/pylith/meshio/meshio.py", line 25, in <module> _meshio = swig_import_helper() File "/usr/lib/python2.6/site-packages/pylith/meshio/meshio.py", line 21, in swig_import_helper _mod = imp.load_module('_meshio', fp, pathname, description) ImportError: numpy.core.multiarray failed to import
This error arises from having another version of Python installed that interferes with the Python included with PyLith. The solution is to set your environment variables so that the shell doesn’t see the existing Python when you run PyLith.
- Double click on the PyLith icon to get the cygwin terminal window for !Pylith.
- Run “env >& env.log” and examine the env.log file for environment variables related to Python.
- Remove all environment variables related to Python and set the PATH variable to the absolute minimum. For example:
unset PYTHON unset PYTHON26 unset PYTHON27 unset PYTHONPATH PATH=/usr/bin:/bin:/lib:/lib/lapack
- You should now be able to use PyLith.
In general, you will need to perform steps 1 and 3 (but not 2) every time you run PyLith. To add these commands to the PyLith startup script, add the commands to the bottom of the pylithrc file included in the PyLith distribution. Usually this file is in Program Files (x86)/PyLith. This shell script is run every time PyLith starts up.
PyLith installer utility
See the INSTALL file included with the PyLith installer utility for directions and example configuration parameters. Troubleshooting tips are also included at the end of the INSTALL file.
- gcc 4.7
- We have encountered segmentation faults building netcdf with gcc 4.7 on OS X 10.8 (Mountain Lion). Running “make check” in nctest generates a segmentation fault.
- We have encountered problems building PETSc w/Sieve support using clang due to C/C++ issues.