Closed dadanhan closed 2 years ago
Hi Dan,
Seems like the jupyter notebook installation on your system is broken.
If you don’t need the notebook feature, you can turn it off.
export BDM_CMAKE_FLAGS="-Dnotebooks=off"
curl https://biodynamo.org/install | bash
Found the following jupyter github issue that might be related: https://github.com/jupyter/nbconvert/issues/1437
Best, Lukas
Hi Lukas, Thank you for this. Now I get the error:
CMake Error at CMakeLists.txt:215 (MESSAGE):
We did not find any OpenMPI installation. Please run ./prerequisites.sh
again before
calling cmake. The OpenMPI library is required in order to successfully use BioDynaMo.
But I definitely have openmpi built from source. And it is located in /usr/local/bin which is also on my environment PATH. Is there also a BDM_CMAKE_FLAGS for specifying the location of openmpi? Best, Dan
Hi Dan,
Sorry to hear that you ran into another issue! We look for the C and CXX components of MPI. Is one of them missing in your MPI build?
Here’s the line in our code that looks for MPI: https://github.com/BioDynaMo/biodynamo/blob/master/CMakeLists.txt#L209 The FindMPI.cmake file that defines the search is provided by the cmake installation.
I’d recommend to de-install your build and use brew to install open-mpi.
Lukas
Hi Lukas, Thanks so much for your help. I've sorted the installation out now. For the record, I had an installation of mpi from source, a conda installation of mpi and a homebrew installation of mpi. Once I removed the conda installation, everything worked great. Best, Dan
Hi Lukas, I'm sorry to bother you again but after installation I am experiencing some issues again from MPI. So when I install BioDynaMo using
export BDM_CMAKE_FLAGS="-Dnotebooks=off"
curl https://biodynamo.org/install | bash
I get alot of output but the ones related to MPI is:
-- Found MPI_C: /opt/homebrew/Cellar/open-mpi/4.1.3/lib/libmpi.dylib (found version "3.1")
-- Found MPI_CXX: /opt/homebrew/Cellar/open-mpi/4.1.3/lib/libmpi.dylib (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: C CXX
-- Found OpenMP_C: -Xclang -fopenmp (found version "5.0")
-- Found OpenMP_CXX: -Xclang -fopenmp (found version "5.0")
-- Found OpenMP: TRUE (found version "5.0")
and also:
- OpenMP features: disabled
- optimization flags:
-O3 -ffp-contract=fast -flto -DARMA_NO_DEBUG
The installation completes successfully and I get:
Installation of BioDynaMo finished successfully!
with the additional instructions on execution and notes. However, when I go into BioDynaMo and try to run a demo with (following the tutorial):
biodynamo demo diffusion .
cd diffusion
biodynamo run
I get the following error message.
-- The C compiler identification is AppleClang 13.1.6.13160021
-- The CXX compiler identification is AppleClang 13.1.6.13160021
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Could NOT find MPI_CXX (missing: MPI_CXX_WORKS)
-- Could NOT find MPI (missing: MPI_CXX_FOUND CXX)
CMake Error at /Users/dhan/biodynamo-v1.02.0/share/cmake/UseBioDynaMo.cmake:153 (MESSAGE):
We did not find any OpenMPI installation. Please run ./prerequisites.sh
again before
calling cmake. The OpenMPI library is required in order to successfully use BioDynaMo.
Call Stack (most recent call first):
CMakeLists.txt:20 (include)
-- Configuring incomplete, errors occurred!
See also "/Users/dhan/diffusion/build/CMakeFiles/CMakeOutput.log".
See also "/Users/dhan/diffusion/build/CMakeFiles/CMakeError.log".
<bdm build> Received the CMake return code 1.
Could you please help! For reference, I'm using macOS Monterey 12.3 and homebrew 3.4.11, let me know if you need further information about other software versions. Dan
Hi Dan,
Try the following commands to find out where cmake looks for MPI.
# assuming that you are in the diffusion directory
bdm clean
cd build
cmake --debug-find ..
What does the output say about MPI?
Lukas
Hi Lukas, sorry for the delay. Here is some of the output for the MPI I get. Please let me know if you want me to give you the full output. (I'd prefer to give it to you via email)
CMake Debug Log at /opt/homebrew/Cellar/cmake/3.23.1_1/share/cmake/Modules/FindMPI.cmake:1359 (find_program):
find_program called with the following settings:
VAR: MPIEXEC_EXECUTABLE
NAMES: "mpiexec"
"mpiexec.hydra"
"mpiexec.mpd"
"mpirun"
"lamexec"
"srun"
Documentation: Executable for running MPI programs.
Framework
Only Search Frameworks: 0
Search Frameworks Last: 0
Search Frameworks First: 1
AppBundle
Only Search AppBundle: 0
Search AppBundle Last: 0
Search AppBundle First: 1
CMAKE_FIND_USE_CMAKE_PATH: 1
CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: 1
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: 1
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: 1
find_program considered the following locations:
/Users/dhan/root_install/bin/bin/mpiexec
/Users/dhan/root_install/bin/sbin/mpiexec
/Users/dhan/root_install/bin/mpiexec
/Users/dhan/root_install/sbin/bin/mpiexec
/Users/dhan/root_install/sbin/sbin/mpiexec
/Users/dhan/root_install/sbin/mpiexec
/Users/dhan/root_install/bin/mpiexec
/Users/dhan/root_install/sbin/mpiexec
/Users/dhan/root_install/mpiexec
/Users/dhan/biodynamo-v1.02.0/share/cmake/bin/bin/mpiexec
/Users/dhan/biodynamo-v1.02.0/share/cmake/bin/sbin/mpiexec
/Users/dhan/biodynamo-v1.02.0/share/cmake/bin/mpiexec
/Users/dhan/biodynamo-v1.02.0/share/cmake/sbin/bin/mpiexec
/Users/dhan/biodynamo-v1.02.0/share/cmake/sbin/sbin/mpiexec
/Users/dhan/biodynamo-v1.02.0/share/cmake/sbin/mpiexec
/Users/dhan/biodynamo-v1.02.0/share/cmake/bin/mpiexec
/Users/dhan/biodynamo-v1.02.0/share/cmake/sbin/mpiexec
/Users/dhan/biodynamo-v1.02.0/share/cmake/mpiexec
/Users/dhan/root_install/bin/bin/mpiexec
/Users/dhan/root_install/bin/sbin/mpiexec
/Users/dhan/root_install/bin/mpiexec
/Users/dhan/biodynamo-v1.02.0/bin/bin/mpiexec
/Users/dhan/biodynamo-v1.02.0/bin/sbin/mpiexec
/Users/dhan/biodynamo-v1.02.0/bin/mpiexec
/Users/dhan/opt/anaconda3/bin/bin/mpiexec
/Users/dhan/opt/anaconda3/bin/sbin/mpiexec
/Users/dhan/opt/anaconda3/bin/mpiexec
/Users/dhan/opt/anaconda3/condabin/bin/mpiexec
/Users/dhan/opt/anaconda3/condabin/sbin/mpiexec
/Users/dhan/opt/anaconda3/condabin/mpiexec
/Applications/NEURON/bin/bin/mpiexec
/Applications/NEURON/bin/sbin/mpiexec
/Applications/NEURON/bin/mpiexec
/opt/homebrew/bin/bin/mpiexec
/opt/homebrew/bin/sbin/mpiexec
The item was found at
/opt/homebrew/bin/mpiexec
Call Stack (most recent call first):
/Users/dhan/biodynamo-v1.02.0/share/cmake/UseBioDynaMo.cmake:147 (find_package)
CMakeLists.txt:20 (include)
CMake Debug Log at /opt/homebrew/Cellar/cmake/3.23.1_1/share/cmake/Modules/FindMPI.cmake:1510 (find_program):
find_program called with the following settings:
VAR: MPI_CXX_COMPILER
NAMES: "mpicxx"
"mpiCC"
"mpcxx"
"mpCC"
"mpic++"
"mpc++"
"mpicxx_r"
"mpiCC_r"
"mpcxx_r"
"mpCC_r"
"mpic++_r"
"mpc++_r"
Documentation: MPI compiler for CXX
Framework
Only Search Frameworks: 0
Search Frameworks Last: 0
Search Frameworks First: 1
AppBundle
Only Search AppBundle: 0
Search AppBundle Last: 0
Search AppBundle First: 1
NO_DEFAULT_PATH Enabled
find_program considered the following locations:
The item was found at
/opt/homebrew/bin/mpicxx
Call Stack (most recent call first):
/Users/dhan/biodynamo-v1.02.0/share/cmake/UseBioDynaMo.cmake:147 (find_package)
CMakeLists.txt:20 (include)
and
CMake Debug Log at /opt/homebrew/Cellar/cmake/3.23.1_1/share/cmake/Modules/FindMPI.cmake:825 (find_library):
find_library called with the following settings:
VAR: MPI_mpi_LIBRARY
NAMES: "mpi"
"libmpi"
Documentation: Location of the mpi library for MPI
Framework
Only Search Frameworks: 0
Search Frameworks Last: 0
Search Frameworks First: 1
AppBundle
Only Search AppBundle: 0
Search AppBundle Last: 0
Search AppBundle First: 1
CMAKE_FIND_USE_CMAKE_PATH: 1
CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: 1
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: 1
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: 1
find_library considered the following locations:
/Users/dhan/root_install/lib/(lib)mpi(\.tbd|\.dylib|\.so|\.a)
/Users/dhan/root_install/(lib)mpi(\.tbd|\.dylib|\.so|\.a)
/Users/dhan/biodynamo-v1.02.0/share/cmake/(lib)mpi(\.tbd|\.dylib|\.so|\.a)
The item was found at
/opt/homebrew/Cellar/open-mpi/4.1.3/lib/libmpi.dylib
Call Stack (most recent call first):
/opt/homebrew/Cellar/cmake/3.23.1_1/share/cmake/Modules/FindMPI.cmake:1546 (_MPI_interrogate_compiler)
/Users/dhan/biodynamo-v1.02.0/share/cmake/UseBioDynaMo.cmake:147 (find_package)
CMakeLists.txt:20 (include)
CMake Debug Log at /opt/homebrew/Cellar/cmake/3.23.1_1/share/cmake/Modules/FindMPI.cmake:1155 (find_path):
find_path called with the following settings:
VAR: MPI_CXX_HEADER_DIR
NAMES: "mpi.h"
Documentation: Path to a file.
Framework
Only Search Frameworks: 0
Search Frameworks Last: 0
Search Frameworks First: 1
AppBundle
Only Search AppBundle: 0
Search AppBundle Last: 0
Search AppBundle First: 1
CMAKE_FIND_USE_CMAKE_PATH: 1
CMAKE_FIND_USE_CMAKE_ENVIRONMENT_PATH: 1
CMAKE_FIND_USE_SYSTEM_ENVIRONMENT_PATH: 1
CMAKE_FIND_USE_CMAKE_SYSTEM_PATH: 1
find_path considered the following locations:
/Users/dhan/root_install/include/mpi.h
/Users/dhan/root_install/mpi.h
/Users/dhan/biodynamo-v1.02.0/share/cmake/include/mpi.h
/Users/dhan/biodynamo-v1.02.0/share/cmake/mpi.h
The item was found at
/opt/homebrew/Cellar/open-mpi/4.1.3/include/mpi.h
Call Stack (most recent call first):
/opt/homebrew/Cellar/cmake/3.23.1_1/share/cmake/Modules/FindMPI.cmake:1627 (_MPI_split_include_dirs)
/Users/dhan/biodynamo-v1.02.0/share/cmake/UseBioDynaMo.cmake:147 (find_package)
CMakeLists.txt:20 (include)
-- Found MPI_CXX: /opt/homebrew/Cellar/open-mpi/4.1.3/lib/libmpi.dylib (found version "3.1")
-- Found MPI: TRUE (found version "3.1") found components: CXX
CMake Debug Log at /Users/dhan/biodynamo-v1.02.0/share/cmake/UseBioDynaMo.cmake:147 (find_package):
find_package considered the following paths for FindMPI.cmake:
/Users/dhan/biodynamo-v1.02.0/share/cmake/FindMPI.cmake
/Users/dhan/biodynamo-v1.02.0/biodynamo/cmake/FindMPI.cmake
The file was found at
/opt/homebrew/Cellar/cmake/3.23.1_1/share/cmake/Modules/FindMPI.cmake
Call Stack (most recent call first):
CMakeLists.txt:20 (include)
And now miraculously biodynamo run
has worked. Any ideas why this works now?
Glad to hear it works now.
Probably the bdm clean
did the trick.
I will close this issue now, but please feel free to reopen or create a new one if you have a problem again.
Hi! I'm trying to install BioDynaMo, I have installed all the prerequisites and I run
and it seems to run fine. However, when it gets to
an error is produced
After this a whole bunch of errors are produced and then it continues to
and fails again with the message:
I have no idea what is going wrong... Could you please help with this? I really need to install BioDynaMo asap!
Best, Dan