`asmjit` supported architectures
casparvl opened this issue · 4 comments
I was building PLUMED 2.7.3 on an aarch64
architecture (neoverse_v1
and neoverse_n1
, using the configure line:
./configure --prefix=/tmp/easybuild/software/PLUMED/2.7.3-foss-2021b --build=aarch64-unknown-linux-gnu --host=aarch64-unknown-linux-gnu --exec-prefix=/tmp/easybuild/software/PLUMED/2.7.3-foss-2021b --enable-gsl --enable-modules=all --enable-python --enable-boost_graph --enable-boost_serialization --enable-asmjit
This build ran into an error
In file included from ./././codeholder.h:37,
from ././codeemitter.h:37,
from ./assembler.h:36,
from assembler.cpp:33:
././././func.h:210:3: error: #error "[asmjit] Couldn't determine the target's calling convention."
210 | # error "[asmjit] Couldn't determine the target's calling convention."
| ^~~~~
make[6]: *** [../maketools/make.rules:16: assembler.o] Error 1
make[6]: Leaving directory '/tmp/easybuild/easybuild/build/PLUMED/2.7.3/foss-2021b/plumed-2.7.3/src/asmjit'
make[5]: *** [Makefile:423: ../asmjit] Error 2
make[5]: *** Waiting for unfinished jobs....
This made me wonder on which architectures asmjit
is supported for PLUMED. I found this for conda
which suggests that ppc64le
and aarch64
are not supported by PLUMED's asmjit
.
Is there a support matrix of PLUMED versions and supported architectures for the asmjit
functionality? I could not find something like this in the official documentation, hoping someone here can tell me :)
Hey Giovanni,
Thanks for the quick response! Those macro's are pretty clear, indeed means it won't work for aarch64
.
From what you're saying about the automatic enablement of asmjit
from 2.8 onwards (just checking if I got that right): I guess that means
- for Plumed <2.8, one has to check if one is on an architecture listed by that macro. If so, pass
--enable-asmjit
explicitely. If not, don't set--enable-asmjit
, as it will lead to the error I encountered. - And if I ever want to build Plumed >= 2.8, I better just leave out the flag, and rely on the macro detection by the
./configure
script alltogether
right?
Yes this is correct
Thanks again! I'll close this issue, all is clear :)