An enhanced Python distribution for HPCMP systems.
NOTE: This is currently work-in-progress on moving python-hpcmp to use the Hashdist tool.
Edit the config.yml file to fit your host. Builds will be performed
with the PATH given + dependencies from python-hpcmp.
Then, run:
./update
or, for more verbose output:
./update -v
The resulting software stack will be put in local (which is a
symlink to a Hashdist "profile" under opt). To use it, add the
following to your environment:
export PATH=/path/to/python-hpcmp/local/bin:$PATH export LD_LIBRARY_PATH=/path/to/python-hpcmp/local/lib:$LD_LIBRARY_PATH
In time, the need for modifying LD_LIBRARY_PATH should gradually
disappear.
The available packages are listed in package.yml, which hopefully
should be mostly self-documenting. What controls how a package is
built is the "recipe", e.g., set recipe: distutils for a
python setup.py install-style package.
The standard recipe is a configure-make-install-style package,
and reads configuration files from files such as
${package}Config/configure.$arch to figure out how to do
the configuration.
The recipes are implemented as Python code that generates Hashdist
build artifacts, and are located in builder/recipes.py. The
builder logic itself (what is not in Hashdist) is in builder/builder.py.
It is anticipated that most of what is described above will eventually
find its way into an (optional) sub-package, hashdist.frontend,
within Hashdist itself.