Description of problem: When loading the openmpi module module load mpi/openmpi... The .cmake files and libraries that CMake finds are the serial versions and not the openmpi ones. One needs to manually set the environment flag export CMAKE_PREFIX_PATH=/usr/lib64/openmpi/lib which will then find the mpi versions of VTK as expected. Would it be possible to add this to the environment variables that are set when the openmpi module is loaded?
This seems to affect Fedora 26 as well for MPICH: https://elist.ornl.gov/pipermail/visit-users/2018-February/021081.html
Do the maintainers have any thoughts on this?
It seems very reasonable to me, however I am not that familiar with CMake. Orion has been managing the openmpi package for quite a while. I would defer to his answer here.
Thanks for the response Doug. I look forward to Orion's input.
Seems like a good thing to do. I've taken to using: -DCMAKE_PREFIX_PATH:PATH=$MPI_HOME in the vtk and paraview builds. But this leads me to the question - you are suggesting setting CMAKE_PREFIX_PATH to $MPI_HOME/lib, which I don't think is correct. Can you check that $MPI_HOME works for you? I'm also setting: -DCMAKE_INSTALL_PREFIX:PATH=$MPI_HOME but I don't think this makes sense to do in the module file as end users may very well want to install elsewhere.
Created attachment 1406152 [details] Compilation test with MPI and VTK
I agree on the CMAKE_INSTALL_PREFIX suggestion - that can be manually set. Without that /lib CMake doesn't find the include directories for VTK. I attached a ghetto test case using VTK and some parallel XML output. The CMake configure script is below. I'm using the vtk-openmpi-devel package. cmake_minimum_required(VERSION 3.9) project(parallel_XML_writer) find_package(MPI REQUIRED) find_package(VTK REQUIRED) include(${VTK_USE_FILE}) add_executable(test_vtk_writer distributed.cpp) target_include_directories(test_vtk_writer PUBLIC ${MPI_CXX_INCLUDE_PATH}) target_link_libraries(test_vtk_writer MPI::MPI_CXX ${VTK_LIBRARIES})
This message is a reminder that Fedora 27 is nearing its end of life. On 2018-Nov-30 Fedora will stop maintaining and issuing updates for Fedora 27. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as EOL if it remains open with a Fedora 'version' of '27'. Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version. Thank you for reporting this issue and we are sorry that we were not able to fix it before Fedora 27 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora, you are encouraged change the 'version' to a later Fedora version prior this bug is closed as described in the policy above. Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete.
Fedora 27 changed to end-of-life (EOL) status on 2018-11-30. Fedora 27 is no longer maintained, which means that it will not receive any further security or bug fix updates. As a result we are closing this bug. If you can reproduce this bug against a currently maintained version of Fedora please feel free to reopen this bug against that version. If you are unable to reopen this bug, please file a new report against the current release. If you experience problems, please add a comment to this bug. Thank you for reporting this bug and we are sorry it could not be fixed.