- removed comment
link time errors about builtin_isinf on bethe
I get link time errors about missing builtin functions on bethe using the current ET thornlist and a option list with options to disable OMP collapse.
This happens with current trunk.
If I remember correctly I can circumvent the problem with careful choices for '-Disinf=std::isinf' etc. However this seems like a fudge and dangerous given the amount of work put into getting isnan to work in Cactus recently.
Is there a "correct" way to fix this?
I attach the make output, options list, thorn list and a list of all thorn revisions.
Keyword:
Comments (3)
-
-
reporter - changed status to open
- assigned issue to
- removed comment
Thank you. I will use the workaround for now and check and see if the correct compiler can be installed on bethe (it was recently re-installed from scratch).
-
reporter - changed status to resolved
- removed comment
Erik updated bethe.cfg with the workaround and required flag to disable OMP collapse.
- Log in to comment
To my knowledge, the "correct" way to correct this is to install the Intel compiler on a system that has the necessary prerequisites, i.e. a particular version of GCC, or a particular version of Red Hat, etc.
I use work-arounds such as
This seems harmless since the compiler will see this definition, hence will still be able to generate optimised code. Also, autoconf will see this and thus let Cactus provide a working implementation.
The implementation in Cactus puts its known-to-be-good functions into a separate namespace (either with a cctk_ prefix or into a namespace cctk) so that there should be no conflicts.