Links

Content Skeleton

This Page

Previous topic

Chroma Intersection

Next topic

How Chroma Works ?

CHROMA

Update for CUDA 7, Dec 2015

pycuda import fails for lack of a CUDA 5.5 curand lib, reinstallation of pycuda fixes this:

chroma- pip install -b /usr/local/env/chroma_env/build/build_pycuda pycuda –upgrade rm -rf /usr/local/env/chroma_env/build/build_pycuda/pycuda/ pip install -b /usr/local/env/chroma_env/build/build_pycuda pycuda –upgrade

Installation Overview

  • contained within virtualenv folder chroma-dir eg /usr/local/env/chroma_env

Dependencies Install Overview

After setup of ~/.aksetup-defaults.py described in http://chroma.bitbucket.org/install/overview.html:

#export PIP_EXTRA_INDEX_URL=http://mtrr.org/chroma_pkgs/
#export PIP_EXTRA_INDEX_URL=http://localhost/chroma_pkgs/
export PIP_EXTRA_INDEX_URL=file:///usr/local/env/chroma_pkgs/
pip install chroma_deps

Chroma dependencies installation uses homegrown shrinkwrap that makes non-python packages such as Geant4 and ROOT to be amenable to setup.py python package dependency machinery.

Packages are pulled from server using PIP indexing mechanism. Recall needing to setup localhost index in order to conveniently make some patches.

IMPORTANT

  • pip logs to ~/.pip/pip.log
  • overwritten at each call

chroma deps server

Bring up local nginx:

delta:~ blyth$ sudo apachectl stop
delta:~ blyth$ nginx-start

To provide the below via http://localhost/chroma_pkgs/:

(chroma_env)delta:Documents blyth$ ll /usr/local/env/chroma_pkgs/
 total 0
 drwxr-xr-x   4 blyth  wheel  136 Jan 16  2014 g4py_chroma
 drwxr-xr-x   8 blyth  wheel  272 Jan 16  2014 .
 drwxr-xr-x   5 blyth  wheel  170 Jan 16  2014 cmake
 drwxr-xr-x   5 blyth  wheel  170 Jan 16  2014 chroma_deps
 drwxr-xr-x   4 blyth  wheel  136 Jan 16  2014 boost
 drwxr-xr-x   7 blyth  wheel  238 Jan 16  2014 geant4
 drwxr-xr-x   8 blyth  wheel  272 Jan 17  2014 root
 drwxr-xr-x  23 blyth  staff  782 Sep 25 12:26 ..

D: modify chroma geant4 build to add GDML/persistency

Macports install of xercesc, see xercesc-vi

Want to add GDML to Chroma geant4 build, need to change cmake cmdline:

delta:geant4-4.9.5.p01 blyth$ pwd
/usr/local/env/chroma_pkgs/geant4/geant4-4.9.5.p01

delta:geant4-4.9.5.p01 blyth$ cat setup.py  | grep cmake
    config_cmd = 'cmake -DCMAKE_INSTALL_PREFIX=%s -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_RAYTRACER_X11=ON %s' % (inst.virtualenv, g4src_dir)
    shrinkwrap_requires=['cmake'],
delta:geant4-4.9.5.p01 blyth$ diff setup.py ../geant4-4.9.5.post2/setup.py
9,10c9,11
< version = '4.9.5.p01'
< source_url = 'http://geant4.cern.ch/support/source/geant%s.tar.gz' % version
---
> version = '4.9.5.post2'
> real_version = '4.9.5.p01'
> source_url = 'http://geant4.cern.ch/support/source/geant%s.tar.gz' % real_version
18c19
<     g4src_dir = os.path.realpath('geant' + version)
---
>     g4src_dir = os.path.realpath('geant' + real_version)
25,26c26
<     xopt = "-DGEANT4_USE_GDML=ON"
<     config_cmd = 'cmake -DCMAKE_INSTALL_PREFIX=%s -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_RAYTRACER_X11=ON %s %s' % (inst.virtualenv, xopt, g4src_dir)
---
>     config_cmd = 'cmake -DCMAKE_INSTALL_PREFIX=%s -DGEANT4_INSTALL_DATA=ON -DGEANT4_USE_RAYTRACER_X11=ON %s' % (inst.virtualenv, g4src_dir)
46c46
<     shrinkwrap_requires=['cmake'],
---
>    # shrinkwrap_requires=['cmake'],
delta:geant4-4.9.5.p01 blyth$

Need to add:

(chroma_env)delta:geant4 blyth$ vi geant4-4.9.5.post2/setup.py   ## add -DGEANT_USE_GDML=ON
(chroma_env)delta:geant4 blyth$ rm  geant4-4.9.5.post2.tar.gz
(chroma_env)delta:geant4 blyth$ tar zcvf geant4-4.9.5.post2.tar.gz geant4-4.9.5.post2
a geant4-4.9.5.post2
a geant4-4.9.5.post2/geant4.egg-info
a geant4-4.9.5.post2/PKG-INFO
a geant4-4.9.5.post2/setup.cfg
a geant4-4.9.5.post2/setup.py
a geant4-4.9.5.post2/geant4.egg-info/dependency_links.txt
a geant4-4.9.5.post2/geant4.egg-info/PKG-INFO
a geant4-4.9.5.post2/geant4.egg-info/SOURCES.txt
a geant4-4.9.5.post2/geant4.egg-info/top_level.txt

the pip install sources geant4.sh:

delta:chroma_env blyth$ find . -name geant4.sh
./bin/geant4.sh
./env.d/geant4.sh
./src/geant4.9.5.p01-build/InstallTreeFiles/geant4.sh

delta:chroma_env blyth$ cat env.d/geant4.sh

pushd .  > /dev/null
cd /usr/local/env/chroma_env/bin
source geant4.sh
popd  > /dev/null

Add tail:

delta:chroma_env blyth$ tail -10 bin/geant4.sh

# SCB extra
xercesc_library=/opt/local/lib/libxerces-c.dylib
if [ -f "${xercesc_library}" ]; then
   export XERCESC_INCLUDE_DIR=/opt/local/include
   export XERCESC_LIBRARY=/opt/local/lib/libxerces-c.dylib
   env | grep XERCESC
fi

Remove that tail, try with env setup in chroma-deps-env, then:

(chroma_env)delta:chroma_env blyth$ chroma-deps-rebuild geant4 -U -v
(chroma_env)delta:chroma_env blyth$ chroma-;chroma-deps-rebuild-geant4 -U -v --pre
=== chroma-deps-env : writing /Users/blyth/.aksetup-defaults.py
XERCESC_INCLUDE_DIR=/opt/local/include
XERCESC_LIBRARY=/opt/local/lib/libxerces-c.dylib
=== chroma-deps-rebuild : pip install -b /usr/local/env/chroma_env/build/build_geant4 -U -v --pre geant4
Could not fetch URL https://pypi.python.org/simple/geant4/: HTTP Error 404: Not Found
Will skip URL https://pypi.python.org/simple/geant4/ when looking for download links for geant4 in ./lib/python2.7/site-packages
Could not fetch URL https://pypi.python.org/simple/geant4/: HTTP Error 404: Not Found
Will skip URL https://pypi.python.org/simple/geant4/ when looking for download links for geant4 in ./lib/python2.7/site-packages
Installed version (4.9.5.post2) is most up-to-date (past versions: 4.9.5.post2, 4.9.5.post1, 4.9.5.p01)
Requirement already up-to-date: geant4 in ./lib/python2.7/site-packages
Cleaning up...
(chroma_env)delta:chroma_env blyth$

marker directory in site-packages:

(chroma_env)delta:site-packages blyth$ l geant4-4.9.5.post2-py2.7.egg-info/
total 40
-rw-r--r--  1 blyth  staff  197 Jan 16  2014 PKG-INFO
-rw-r--r--  1 blyth  staff  130 Jan 16  2014 SOURCES.txt
-rw-r--r--  1 blyth  staff    1 Jan 16  2014 dependency_links.txt
-rw-r--r--  1 blyth  staff   59 Jan 16  2014 installed-files.txt
-rw-r--r--  1 blyth  staff    1 Jan 16  2014 top_level.txt
(chroma_env)delta:site-packages blyth$

Need to remove 3 dirs to succeeds to rebuild:

(chroma_env)delta:chroma_env blyth$ rm -r /usr/local/env/chroma_env/build/build_geant4
(chroma_env)delta:chroma_env blyth$ rm -r lib/python2.7/site-packages/geant4-4.9.5.post2-py2.7.egg-info
(chroma_env)delta:chroma_env blyth$ rm -rf /usr/local/env/chroma_env/src/geant4.9.5.p01
    # otherwise get permission denied regarding examples/.../Doxyfile.svn-base

(chroma_env)delta:chroma_env blyth$ chroma-;chroma-deps-rebuild-geant4 -U -v --pre

But my change to geant4-4.9.5.post2/setup.py was ignored. Need to create tarball:

(chroma_env)delta:geant4 blyth$ pwd
/usr/local/env/chroma_pkgs/geant4
(chroma_env)delta:geant4 blyth$ rm geant4-4.9.5.post2.tar.gz
(chroma_env)delta:geant4 blyth$ tar zcvf geant4-4.9.5.post2.tar.gz geant4-4.9.5.post2
a geant4-4.9.5.post2
a geant4-4.9.5.post2/geant4.egg-info
a geant4-4.9.5.post2/PKG-INFO
a geant4-4.9.5.post2/setup.cfg
a geant4-4.9.5.post2/setup.py
a geant4-4.9.5.post2/geant4.egg-info/dependency_links.txt
a geant4-4.9.5.post2/geant4.egg-info/PKG-INFO
a geant4-4.9.5.post2/geant4.egg-info/SOURCES.txt
a geant4-4.9.5.post2/geant4.egg-info/top_level.txt
(chroma_env)delta:geant4 blyth$

After that succeed to rebuild but getting:

CMake Warning:
   Manually-specified variables were not used by the project:

     GEANT_USE_GDML

Chroma Dependencies

OSX 10.9.1 Mavericks

  • Xcode 5.0.2 with commandline tools
  • XQuartz 2.7.5
  • CUDA 5.5
  • Macports (logs in ~/macports/)
    • py27-matplotlib
    • mercurial
    • py27-game
    • py27-virtualenv
    • Xft2
    • xpm

Careful with errant eggs

After testing build_ext:

(chroma_env)delta:chroma blyth$ touch src/G4chroma.cc
(chroma_env)delta:chroma blyth$ python setup.py build_ext
running build_ext
building 'chroma.generator._g4chroma' extension
C compiler: /usr/bin/clang -fno-strict-aliasing -fno-common -dynamic -pipe -Os -fwrapv -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes

compile options: '-Isrc -I/usr/local/env/chroma_env/lib/python2.7/site-packages/pyublas/include -I/usr/local/env/chroma_env/include -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/numpy/core/include -I/opt/local/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c'
extra options: '-DG4INTY_USE_XT -I/usr/X11R6/include -I/opt/local/include -DG4UI_USE_TCSH -DG4VIS_USE_RAYTRACERX -I/usr/local/env/chroma_env/bin/../include/Geant4'
clang: src/G4chroma.cc
...
/usr/bin/clang++ -bundle -undefined dynamic_lookup -L/opt/local/lib -Wl,-headerpad_max_install_names -L/opt/local/lib/db46 build/temp.macosx-10.9-x86_64-2.7/src/G4chroma.o -lboost_python -o build/lib.macosx-10.9-x86_64-2.7/chroma/generator/_g4chroma.so -L/usr/local/env/chroma_env/bin/../lib -lG4Tree -lG4FR -lG4GMocren -lG4visHepRep -lG4RayTracer -lG4VRML -lG4vis_management -lG4modeling -lG4interfaces -lG4persistency -lG4analysis -lG4error_propagation -lG4readout -lG4physicslists -lG4run -lG4event -lG4tracking -lG4parmodels -lG4processes -lG4digits_hits -lG4track -lG4particles -lG4geometry -lG4materials -lG4graphics_reps -lG4intercoms -lG4global -lG4clhep
(chroma_env)delta:chroma blyth$

Find launch fails of g4daeview.py, with indication of looking inside an errant egg:

 self._gpu_geometry = self.setup_gpu_geometry()
File "/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/env/geant4/geometry/collada/g4daeview/daechromacontext.py", line 73, in setup_gpu_geometry
  return GPUGeometry( self.chroma_geometry )
File "/usr/local/env/chroma_env/lib/python2.7/site-packages/Chroma-0.5-py2.7-macosx-10.9-x86_64.egg/chroma/gpu/geometry.py", line 25, in __init__
  geometry_source = get_cu_source('geometry_types.h')
File "<string>", line 2, in get_cu_source
File "/usr/local/env/chroma_env/lib/python2.7/site-packages/pytools/__init__.py", line 382, in memoize
  result = func(*args)
File "/usr/local/env/chroma_env/lib/python2.7/site-packages/Chroma-0.5-py2.7-macosx-10.9-x86_64.egg/chroma/gpu/tools.py", line 89, in get_cu_source
  with open('%s/%s' % (srcdir, name)) as f:
IOError: [Errno 2] No such file or directory: '/usr/local/env/chroma_env/lib/python2.7/site-packages/Chroma-0.5-py2.7-macosx-10.9-x86_64.egg/chroma/cuda/geometry_types.h'
delta:~ blyth$ ll /usr/local/env/chroma_env/lib/python2.7/site-packages/Chroma-0.5-py2.7-macosx-10.9-x86_64.egg/chroma/cuda/
total 16
-rw-r--r--   1 blyth  staff   329 Sep 19 20:27 __init__.pyc
-rw-r--r--   1 blyth  staff    67 Sep 19 20:27 __init__.py
drwxr-xr-x  53 blyth  staff  1802 Sep 19 20:27 ..
drwxr-xr-x   4 blyth  staff   136 Sep 19 20:27 .
delta:~ blyth$ date
Mon Sep 22 16:16:44 CST 2014

The below all failed to place the headers in the egg:

(chroma_env)delta:chroma blyth$ python setup.py install_headers
(chroma_env)delta:chroma blyth$ python setup.py develop
(chroma_env)delta:chroma blyth$ python setup.py install

Recall that develop is the chroma setup.py command being used, so there should be no egg. Removing the egg succeeds to resume operation:

delta:site-packages blyth$ cat easy-install.pth
import sys; sys.__plen = len(sys.path)
./unittest2-0.5.1-py2.7.egg
./Sphinx-1.2-py2.7.egg
./spnav-0.9-py2.7.egg
./uncertainties-2.4.4-py2.7.egg
./Jinja2-2.7.2-py2.7.egg
./Pygments-1.6-py2.7.egg
./pycollada-0.4-py2.7.egg
./readline-6.2.4.1-py2.7-macosx-10.9-x86_64.egg
/usr/local/env/chroma_env/src/chroma
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)
delta:site-packages blyth$

Probably the install command created the egg, but the recommended way is develop which plans the path in the easy-install.pth:

delta:site-packages blyth$ find /usr/local/env/chroma_env/src/chroma -name geometry_types.h
/usr/local/env/chroma_env/src/chroma/chroma/cuda/geometry_types.h

Removing the header from the working copy reproduces the error, so the correct header now being used. There was some flakiness in this, supect an egg cache may be coming into play.

chroma-deps pycuda build failure

While doing:

pip install -b /usr/local/env/chroma_env/build/build_pycuda pycuda
  1. linker errors from missing dir /Developer/NVIDIA/CUDA-5.5/lib64, avoid with ~/.aksetup-defaults.py change

  2. linker errors from missing lib “-lcuda”, avoid by changing libdir to /usr/local/cuda/lib

  3. pyublas complains: “Setuptools conflict detected”, but it proceeds anyhow

  4. pip/shrinkwrap/cmake builds dump lots of whitespace, possibly colorful clang warnings, seems worse with iTerm2.app term setup rather than with Terminal.app

  5. cmake-2.8.11 build issue with cmlibarchive

root 5.34.11 freetype issue

In file included from /usr/local/env/chroma_env/src/root-v5.34.11/graf2d/x11ttf/src/TGX11TTF.cxx:28:
In file included from include/TGX11TTF.h:34:
In file included from include/TTF.h:30:
/usr/X11R6/include/ft2build.h:56:10: fatal error: 'freetype/config/ftheader.h' file not found
#include <freetype/config/ftheader.h>

Looks like a missing 2:

delta:lib blyth$ freetype-config --cflags
-I/opt/local/include/freetype2
delta:lib blyth$ ll /opt/local/include/freetype2/config/ftheader.h
-rw-r--r--  1 root  admin  25587 Dec 22 17:32 /opt/local/include/freetype2/config/ftheader.h

The /usr/X11R6/include/ft2build.h header with the wrong path:

55   /* `<prefix>/include/freetype2' must be in your current inclusion path */
56 #include <freetype/config/ftheader.h>
freetype-config --cflags
-I/opt/local/include/freetype2

Perhaps an XQuartz ROOT incompatibility, try kludge:

cd /opt/local/include/freetype2 && sudo ln -s . freetype

Makes the header appear at locations expected by both ROOT and Xquartz:

(chroma_env)delta:freetype2 blyth$ ls -l /opt/local/include/freetype2/config/ftheader.h /opt/local/include/freetype2/freetype/config/ftheader.h
-rw-r--r--  1 root  admin  25587 Dec 22 17:32 /opt/local/include/freetype2/config/ftheader.h
-rw-r--r--  1 root  admin  25587 Dec 22 17:32 /opt/local/include/freetype2/freetype/config/ftheader.h

rerun root

A rerun skips root unless:

rm -rf build/build_root

Do this with chroma-deps-rebuild root

g4py_chroma

Claims to complete OK but looks like python version mixing between system and macports python:

Checking for system type ... macosx
Checking for prefix ... /usr/local/env/chroma_env
Checking for lib dir ... /usr/local/env/chroma_env/lib/python2.7/site-packages
Checking for G4 include dir ... /usr/local/env/chroma_env/include/Geant4
Checking for G4 lib dir ... /usr/local/env/chroma_env/lib/
Checking for G4 libs are shared libraray ... ok
Checking for Python include dir (pyconfig.h) ... /usr/include/python2.7
Checking for Python lib dir ... /usr/local/env/chroma_env/lib/python2.7/config
Checking for Boost include dir (boost/python.hpp) ... /usr/local/env/chroma_env/include
Checking for Boost version ... ok
Checking for Boost lib dir ... /usr/local/env/chroma_env/lib
Checking for Boost Python lib name ... libboost_python.dylib
Checking for OpenGL support ...no
Checking for GL2PS support ...no
Checking for physics list support ...yes
Checking for GDML support ...no

Also some funny warnings:

Building a module G4global.so ...
ld: warning: directory not found for option '-L-l'
... intall G4global.so into /usr/local/env/chroma_env/lib/python2.7/site-packages/Geant4

pyzmq

Claims to complete OK despite issue with underlying ZMQ which gave fatality:

build/temp.macosx-10.9-x86_64-2.7/scratch/vers.c:4:10: fatal error: 'zmq.h' file not found
#include "zmq.h"
         ^
1 error generated.

error: command '/usr/bin/clang' failed with exit status 1

Warning: Failed to build or run libzmq detection test.

If you expected pyzmq to link against an installed libzmq, please check to make sure:

    * You have a C compiler installed
    * A development version of Python is installed (including headers)
    * A development version of ZMQ >= 2.1.4 is installed (including headers)
    * If ZMQ is not in a default location, supply the argument --zmq=<path>
    * If you did recently install ZMQ to a default location,
      try rebuilding the ld cache with `sudo ldconfig`
      or specify zmq's location with `--zmq=/usr/local`

If you expected to get a binary install (egg), we have those for
current Pythons on OS X and Windows. These can be installed with
easy_install, but PIP DOES NOT SUPPORT EGGS.

You can skip all this detection/waiting nonsense if you know
you want pyzmq to bundle libzmq as an extension by passing:

    `--zmq=bundled`

I will now try to build libzmq as a Python extension
unless you interrupt me (^C) in the next 10 seconds...

************************************************
Using bundled libzmq
already have bundled/zeromq
attempting ./configure to generate platform.hpp
Warning: failed to configure libzmq:
/bin/sh: ./configure: No such file or directory

ZMQ

As now interested in ZMQ from C++ need the zmq.h header, so install that with zeromq-;zeromq-make

markupsafe

pip installing it separately gets around the SandboxViolation when installed as a dependency of chroma:

Installed /usr/local/env/chroma_env/lib/python2.7/site-packages/Pygments-1.6-py2.7.egg
Searching for markupsafe
Reading https://pypi.python.org/simple/markupsafe/
Best match: MarkupSafe 0.18
Downloading https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.18.tar.gz#md5=f8d252fd05371e51dec2fe9a36890687
Processing MarkupSafe-0.18.tar.gz
Writing /var/folders/qm/1p5gh0x94l3b0xqc8dpr9yn40000gn/T/easy_install-IYqptm/MarkupSafe-0.18/setup.cfg
Running MarkupSafe-0.18/setup.py -q bdist_egg --dist-dir /var/folders/qm/1p5gh0x94l3b0xqc8dpr9yn40000gn/T/easy_install-IYqptm/MarkupSafe-0.18/egg-dist-tmp-DMeghv
error: Setup script exited with error: SandboxViolation: os.open('/var/folders/qm/1p5gh0x94l3b0xqc8dpr9yn40000gn/T/tmpKdJUob/SDCV5z', 2818, 384) {}

The package setup script has attempted to modify files on your system
that are not within the EasyInstall build area, and has been aborted.

This package cannot be safely installed by EasyInstall, and may not
support alternate installation locations even if you run its setup
script by hand.  Please inform the package's author and the EasyInstall
maintainers to find out if a fix or workaround is available.

pip logs

Are overritten at each invokation:

mv /Users/blyth/.pip/pip.log ~/chroma_deps.log

root-5.34.14

Bump root to get Mavericks fixes, by adding root-5.34.14.tar.gz to chroma_pkgs with the only change being the version at the below three points.:

chroma_env)delta:root blyth$ diff -r  root-5.34.11 root-5.34.14
diff -r root-5.34.11/PKG-INFO root-5.34.14/PKG-INFO
3c3
< Version: 5.34.11
---
> Version: 5.34.14
diff -r root-5.34.11/root.egg-info/PKG-INFO root-5.34.14/root.egg-info/PKG-INFO
3c3
< Version: 5.34.11
---
> Version: 5.34.14
diff -r root-5.34.11/setup.py root-5.34.14/setup.py
10c10
< version = '5.34.11'
---
> version = '5.34.14'
(chroma_env)delta:chroma_env blyth$ chroma-deps-rebuild root -U
=== chroma-deps-env : writing /Users/blyth/.aksetup-defaults.py
Downloading/unpacking root from http://localhost/chroma_pkgs/root/root-5.34.14.tar.gz
  Downloading root-5.34.14.tar.gz
  Running setup.py egg_info for package root

Installing collected packages: root
  Found existing installation: root 5.34.11
    Uninstalling root:
      Successfully uninstalled root
  Running setup.py install for root
    Downloading ftp://root.cern.ch/root/root_v5.34.14.source.tar.gz

TTF : header name clash between freetype and ftgl

6860
6861     In file included from /usr/local/env/chroma_env/src/root-v5.34.14/graf2d/graf/src/TMathText.cxx:15:
6862
6863     include/TTF.h:51:4: error: unknown type name 'FT_Glyph'; did you mean 'FTGlyph'?
6864
6865        FT_Glyph   fImage; // glyph image
6866
6867        ^~~~~~~~
6868
6869        FTGlyph
6870
6871     include/ftglyph.h:25:19: note: 'FTGlyph' declared here
6872
6873     class FTGL_EXPORT FTGlyph
6874

rebuild pycuda with opengl capability

Trying to run PyCUDA OpenGL interop example

Gives:

(chroma_env)delta:pycuda_pyopengl_interop blyth$ python interop.py
...
import pycuda.gl as cuda_gl
File "/usr/local/env/chroma_env/lib/python2.7/site-packages/pycuda/gl/__init__.py", line 4, in <module>
raise ImportError("PyCUDA was compiled without GL extension support")
  1. add flag to chroma-pycuda-aksetup- and regenerate:

    (chroma_env)delta:pycuda_pyopengl_interop blyth$ chroma-pycuda-aksetup
    writing /Users/blyth/.aksetup-defaults.py
pip uninstall pycuda
chroma-deps-rebuild pycuda

Chroma Install

Suggestion is:

cd $VIRTUAL_ENV/src
hg clone https://bitbucket.org/chroma/chroma
cd chroma
python setup.py develop

Chroma Rebuild

Chroma Install Rerun from my bitbucket fork

cd $VIRTUAL_ENV/src
hg clone ssh://hg@bitbucket.org/scb-/chroma
cd chroma
# python setup.py develop   ## uninstall first ?
(chroma_env)delta:~ blyth$ chroma-
(chroma_env)delta:~ blyth$ chroma-cd src/chroma
(chroma_env)delta:chroma blyth$ pwd
/usr/local/env/chroma_env/src/chroma

(chroma_env)delta:chroma blyth$ python setup.py --help

  ## no uninstall command, the "develop" command just plants an egg-link anyhow

(chroma_env)delta:chroma blyth$ cat ../../lib/python2.7/site-packages/Chroma.egg-link
/usr/local/env/chroma_env/src/chroma

.(chroma_env)delta:chroma blyth$ cat ../../lib/python2.7/site-packages/easy-install.pth
import sys; sys.__plen = len(sys.path)
/usr/local/env/chroma_env/src/chroma
./unittest2-0.5.1-py2.7.egg
./Sphinx-1.2-py2.7.egg
./spnav-0.9-py2.7.egg
./uncertainties-2.4.4-py2.7.egg
./Jinja2-2.7.2-py2.7.egg
./Pygments-1.6-py2.7.egg
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
./pycollada-0.4-py2.7.egg
./readline-6.2.4.1-py2.7-macosx-10.9-x86_64.egg
import sys; new=sys.path[sys.__plen:]; del sys.path[sys.__plen:]; p=getattr(sys,'__egginsert',0); sys.path[p:p]=new; sys.__egginsert = p+len(new)
(chroma_env)delta:chroma blyth$

Plow ahead with the develop ontop of existing install:

(chroma_env)delta:chroma blyth$ python setup.py develop
running develop
running egg_info
creating Chroma.egg-info
writing requirements to Chroma.egg-info/requires.txt
writing Chroma.egg-info/PKG-INFO
...
Using /usr/local/env/chroma_env/lib/python2.7/site-packages
Finished processing dependencies for Chroma==0.5

Moved retainable chroma mods into bitbucket fork

  • only significant mods canned were to camera.py as the over complicated nature of that makes it not a good place for development without a major re-write