Dear all,

recently, I got a problem with FindMPI on our HPC systems. With cmake 3.10.2, I get an error about policy CMP0004. And I cannot set it to OLD anymore. Is this intended?

Exactly the same error, together with a patch, is described in the bugtracker

I cannot reproduce the error easiliy. On my home system, it works. But on the hpc system, mpicc -showme:link returns -L<MPIDIR>/lib -lmpi -ldl -lm -lnuma -Wl,--export-dynamic -lrt -lnsl -lutil -lm -ldl

so, we have exactly one -Wl,<something> part and libraries otherwise. It looks to me, that the patch from the bugtracker should avoid the problem.
Can somebody confirm this finding?

The problem gets even worse with newercmake versions. With cmake 3.9, I can set policy cmp0004 to OLD, so FindMPI remains usable. With newer cmake versions, ie. 3.10.2, the policy setting seems to get deprecated. So, the user won't get any way to use newer cmake with such a bug.

What is the preferred way to resolve such an issue, when the policy setting is not allowed anymore?


Powered by

Please keep messages on-topic and check the CMake FAQ at:

Kitware offers various services to support the CMake community. For more 
information on each offering, please visit:

CMake Support:
CMake Consulting:
CMake Training Courses:

Visit other Kitware open-source projects at

Follow this link to subscribe/unsubscribe:

Reply via email to