Closed JacopoMarcheselli closed 6 years ago
Your build with the GCC compilers is failing because you aren't quite specifying the configure options correctly. In particular, you are specifying directories to the --with-blas
and --with-lapack
options, whereas in fact those options want the full paths to the actual binary files. So you want to say something like
configure --with-blas=--with-blas=/u/shared/programs/x86_64/mkl/11.1.3/composer_xe_2013_sp1.3.174/mkl/lib/intel64/libmkl_intel_ilp64.a
and similarly for --with-lapack
. (I have actually never tried to link the MKL libraries with GCC-compiled code, so you may run into further snags in trying to do this.)
On the other hand, your build with the intel compilers seems to be failing because the fenv.h
file provided in the intel development environment is not compatible with the standard POSIX fenv.h
file. I don't know exactly why this would be, since the fenv.h
file on my installation of the intel compilers does have all the symbols yours seems to be missing (FE_INVALID
, etc.) Could you send me the fenv.h
file that is accessed by your version of the intel compilers? Alternatively, you could just comment out the offending lines in libhrutil.cc
as they are not crucial for the operation of the code.
Dear prof. Reid,
I've been trying to install scuff-em on the cluster of my institution but I couldn't make it.
When I'm using gnu compiler (gnu 4.9.2) along with openmpi 1.8.3, hdf5 1.8.12 and mkl 11.1 (for the lapack and blas libraries) I found no way to make it recognise all the libraries during the configuration process. They probably are in non-standard folders, but when I explicitly point to the right folders in the environment variables the compilers (both C++ and Fortran) simply refuses to pass the check and cannot create executables. I tried many possible solutions and all the different folders and combinations but I couldn't make it work.
In attachment I put the log of configuration and the environment variables when I try to use the dynamical link to mkl: config_gnu.txt env_gnu.txt
So I switched to intel compiler (intel 14.0 which includes icc and ifort, the other libraries are the same), in order to make it easier to find mkl libraries, which actually happened. The configure I used is this:
./configure --with-hdf5-includedir=$HDF5_INC --with-hdf5-libdir=$HDF5_LIB --prefix=/home/jmarches/scuff-em.bin/ --with-openmp
I attached the configure log file and the environment variables:
config_intel.txt env_intel.txt
The configuration process ends up succeeding, but when it comes to compiling I get this error:
" libhrutil.cc(1028): error: identifier "FE_INVALID" is undefined feenableexcept(FE_INVALID | FE_OVERFLOW); ^
libhrutil.cc(1028): error: identifier "FE_OVERFLOW" is undefined feenableexcept(FE_INVALID | FE_OVERFLOW); ^
libhrutil.cc(1028): error: identifier "feenableexcept" is undefined feenableexcept(FE_INVALID | FE_OVERFLOW); ^
compilation aborted for libhrutil.cc (code 2) "
For which I did not find any functioning solution
May I ask for help?
Cheers, Jacopo