Closed sharkovsky closed 7 years ago
Ahh.. I see !
nrnivmodl
is embedding Spack wrappers itself! In the install
method we just have to replace these variables with actual compilers. I can fix that.
Just FYI : if you do spack edit mpich
then you can see filter_compilers
method where actual compilers are available via self.compiler.cc
$ spack find -v neuron
==> 5 installed packages.
-- cray-CNL-haswell / cce@8.5.4 ---------------------------------
neuron@develop+cross-compile+mpi+multisend+python~rx3d~shared
-- cray-CNL-haswell / gcc@4.9.3 ---------------------------------
neuron@develop+cross-compile+mpi+multisend+python~rx3d~shared
-- cray-CNL-haswell / intel@17.0.0.098 --------------------------
neuron@develop+cross-compile~debug+mpi+multisend~profile+python+static neuron@develop+cross-compile+mpi+multisend+python~rx3d~shared
-- cray-CNL-haswell / pgi@16.4.0 --------------------------------
neuron@develop+cross-compile+mpi+multisend+python~rx3d+shared
For building special, if you are linking with Python then you have to make sure to use dynamic
flag if Python is used in shared library mode as:
nrnivmodl -loadflags "-dynamic" .
trying to run
nrnivmodl
on a directory results in the following output:this seems to happen because in the file
/users/cremones/software/spack-install/cray-CNL-haswell/intel-17.0.0.098/neuron-master-xefdyhbhchxb7vdt4pwowmbcozvmq77b/x86_64/bin/nrniv_makefile
is hard-coded the path to the compiler, i.e. at line 47:CC = /users/cremones/software/spack/lib/spack/env/intel/icc
is there a way around this?