electronic-structure/SIRIUS

Compiling issue

Closed this issue · 6 comments

/SIRIUS-7.2.4/src/potential/xc.cpp: In member function ‘void sirius::Potential::xc_rg_nonmagnetic(const sirius::Density&)’:
/SIRIUS-7.2.4/src/potential/xc.cpp:146:79: error: lvalue required as unary ‘&’ operand
  146 |                 ixc->get_vdw(&rho.f_rg(0), &grad_rho_grad_rho.f_rg(0), &vxc.at(memory_t::host), &vsigma.f_rg(0),
      |                                                                         ~~~~~~^~~~~~~~~~~~~~~~
make[2]: *** [src/CMakeFiles/sirius.dir/build.make:412: src/CMakeFiles/sirius.dir/potential/xc.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/Makefile2:224: src/CMakeFiles/sirius.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Hi @antoscha ! What is the compiler? I see the problem. @mtaillefumier looks like we don't test compilation with VDW, otherwise we would capture the error of passing &vxc.at(memory_t::host) instead of vxc.at(memory_t::host). Do we have spack support for libvdw?

I did not write the spack script so i can not answer this question. It is simple to correct though.

It's already there, just disabled by default, let me add it

Seems like this was already fixed on develop, see #633. Tests are passing in #653 too

I see, this issue duplicates #632
Excuse me for troubling