[SOLVED] [mfront] Compilation error in MFrontLogStream with GNU compilers on Linux
Closed this issue · 8 comments
Hello,
I have to install code-Aster on a linux cluster. So I need to compiler mfront.
And during the installation of mfront, I have the following error
[ 13%] Built target MFrontLogStream
/home/moebs-g@univ-nantes.fr/SOFT/ASTER/codeaster-prerequisites-20221225-oss/.build-gcc14-openblas-ompi4/content/mfront/src/BehaviourProfiler.cxx: In destructor 'mfront::BehaviourProfiler::~BehaviourProfiler()
'/home/moebs-g@univ-nantes.fr/SOFT/ASTER/codeaster-prerequisites-20221225-oss/.build-gcc14-openblas-ompi4/content/mfront/src/BehaviourProfiler.cxx:193:51: error: 'intmax_t' is not a member of 'std'; did you mean 'intmax_t'?
193 | using size_type = std::array<std::atomicstd::intmax_t, 23>::size_type;
| ^~~~~~~~
In file included from /home/moebs-g@univ-nantes.fr/.guix-profile/include/c++/bits/atomic_base.h:37,
from /home/moebs-g@univ-nantes.fr/.guix-profile/include/c++/atomic:50,
from /home/moebs-g@univ-nantes.fr/SOFT/ASTER/codeaster-prerequisites-20221225-oss/.build-gcc14-openblas-ompi4/content/mfront/include/MFront/BehaviourProfiler.hxx:28,
from /home/moebs-g@univ-nantes.fr/SOFT/ASTER/codeaster-prerequisites-20221225-oss/.build-gcc14-openblas-ompi4/content/mfront/src/BehaviourProfiler.cxx:22:
/home/moebs-g@univ-nantes.fr/.guix-profile/include/stdint.h:90:33: note: 'intmax_t' declared here
90 | typedef __intmax_t intmax_t;
| ^~~~~~~~
/home/moebs-g@univ-nantes.fr/SOFT/ASTER/codeaster-prerequisites-20221225-oss/.build-gcc14-openblas-ompi4/content/mfront/src/BehaviourProfiler.cxx:193:59: error: template argument 1 is invalid
193 | using size_type = std::array<std::atomicstd::intmax_t, 23>::size_type;
| ^
/home/moebs-g@univ-nantes.fr/SOFT/ASTER/codeaster-prerequisites-20221225-oss/.build-gcc14-openblas-ompi4/content/mfront/src/BehaviourProfiler.cxx:193:64: error: template argument 1 is invalid
193 | using size_type = std::array<std::atomicstd::intmax_t, 23>::size_type;
| ^
/home/moebs-g@univ-nantes.fr/SOFT/ASTER/codeaster-prerequisites-20221225-oss/.build-gcc14-openblas-ompi4/content/mfront/src/BehaviourProfiler.cxx:198:10: error: 'size_type' was not declared in this scope; did you mean 'size_t'?
198 | for (size_type i = 0; i + 1 != measures.size(); ++i) {
| ^~~~~~~~~
| size_t
I'm using GNU compilers :
-- The C compiler identification is GNU 14.2.0
-- The CXX compiler identification is GNU 14.2.0
I put the file mfront.log in attachment.
mfront.log.gz
mfront.log.gz
mfront.log.gz
Thank you for for help.
G Moebs
This is strange. std::intmax_t
is defined in <cstdint>
which is included by BehaviourProfiler.cxx
, at least in the master
branch.
Which version are trying to compile ?
Can you check if <cstdint>
is included in BehaviourProfiler.cxx
?
Thank you for your replies.
I try to compile codeaster-prerequisites-20221225-oss
I go to the local directory .build-gcc14-openblas-ompi4/content/mfront/src
and a "\grep -i cstdint BehaviourProfiler.cxx" gives me nothing
/home/moebs-g@univ-nantes.fr/SOFT/ASTER/codeaster-prerequisites-20221225-oss/.build-gcc14-openblas-ompi4/content/mfront/src/BehaviourProfiler.cxx
yes, this one ; it doesn't contain any include of cstdint
Then you just have to add it. You probably are compiling an old version of MFront
I don't know ; the users for whom i'm doing this, gave me the link to this archive :
https://www.code-aster.org/FICHIERS/prerequisites/codeaster-prerequisites-20221225-oss.tar.gz
and everything comes from it.
Maybe it's too old ; I'll try to find a better code-aster archive.
Thank you for your help.
the users for whom i'm doing this, gave me the link to this archive :
https://www.code-aster.org/FICHIERS/prerequisites/codeaster-prerequisites-20221225-oss.tar.gz
I would simply extract the sources, modify them and recompress the archive