47a7cd6a93
* py-charm4py: new package Charm++ for python Installation notes: 1) charm4py ships with its own charm++ tarball. It really wants to use the version it ships with. It also builds charm++ in a special way to produce libcharm.so (but not charmc, etc), so it does not seem worthwhile to try to hack to build using a spack installed charmpp. 2) Originally, the installation was failing due to unresolved cuda symbols when setup.py was doing a ctypes.CDLL of libcharm.so (in order to verify version?). This appears to be due to the fact that libcharm.so had undefined cuda symbols, but did not show libcudart.so as a dependency (in e.g. ldd output). To fix this, I had to add libcudart.so explicitly when linking libcharm.so, but since setup.py untars a tarball to build libcharm, the solution was a tad convoluted: 2a) Add a patch in spack to py-charm4py which creates a patchfile "spack-charm4py-setup.py.patch" which will modify a Makefile file (after it is untarred) to add the flags in env var SPACK_CHARM4PY_EXTRALIBS to the link command for libcharm.so 2b) The spack patch file also patches setup.py to run patch using the aforementioned patchfile to patch the Makefile after it is untarred, and sets the SPACK_CHARM4PY_EXTRALIBS variable appropriately in the setup environment. * Update var/spack/repos/builtin/packages/py-charm4py/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-charm4py/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * py-charm4py: flake8 fixes remove useless import Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> |
||
---|---|---|
.. | ||
spack |