issp-center-dev / mVMC

A numerical solver package for a wide range of quantum lattice models based on many-variable Variational Monte Carlo method

Home Page:http://www.pasums.issp.u-tokyo.ac.jp/mvmc/en/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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