We Should Fix Traditional Makefile Compilation
xrq-phys opened this issue · comments
An easy workaround would be:
In src/StdFace/makefile_StdFace
:
StdFace_OBJS = StdFace_main.o StdFace_ModelUtil.o
Lattice_OBJS = SquareLattice.o ChainLattice.o TriangularLattice.o \
HoneycombLattice.o Ladder.o Kagome.o Orthorhombic.o FCOrtho.o \
Pyrochlore.o Wannier90.o setmemory.o # <<< Add this
In src/ComplexUHF/makefile_uhf
:
include ../make.sys
SFMT = ../sfmt/SFMT.o
OBJS = \
../common/setmemory.c \ # <<< Add this
cal_energy.o \
diag.o \
green.o \
initial.o \
makeham.o \
matrixlapack.o \
output.o \
readdef.o \
UHFmain.o
and delete all lines related to mfmemory.c
.
To be honest, after experiencing many CMake-related problems, I'm beginning to doubt that CMake might not be a good toolset for us:
- CMake is designed to work on both *nix and Windows but we only need previous one (and this CMakeFiles.txt won't work on Windows);
- CMake's quite obstinate when doing cross-compilation but we need flexible cross-compiling on, e.g. Fugaku's assessing environment (「富岳」前期評価環境);
- CMake's also stubborn on BLAS/LAPACK finding which might make it hard to feed alternative implementations (e.g. flame/BLIS).
As a result, I guess we should at least continue to support old makefile
and remove that makefile is deprecated
warning.
BTW adding -x
permission to mVMCconfig.sh
might also be a good idea :)
Best,
RuQing