
This is unnecessary for 99% of operations in MRtrix3, since everything is already multi-threaded across voxels, or across streamlines, etc. The only reason to include support for OpenMP in MRtrix3 is to allow the Eigen3 library to internally parallelize its operations, as this is the library that the Eigen3 developers have decided to use to multi-thread their operations. The next step would be to support full-blown MPI to distribute the load over multiple compute nodes in a cluster (which OpenMP does not support, as far as I can tell) - but that is not something we’re even considering right now.
#QT MAC OS X SDK FULL#
MRtrix3 already uses the standard C++11 multi-threading API to do this - there is no actual need of OpenMP for MRtrix3 to run at full tilt. OpenMP is a framework for multi-threading on a single compute node. How do I pass the CXXFLAGS and LIBS when calling qmake in installing MRtrix3? So, finally the question: what am I doing wrong? Therefore it seems that openmp is close by, but qt is missing the parallel flags. Looking for compiler : clang version 3.5.0Ĭhecking for variable-length array support: okĬhecking for non-POD variable-length array support: not foundĬhecking for zlib compression library: 1.2.5Ĭhecking for “JSON for Modern C++” requirements: okĬhecking for TIFF library: LIBTIFF, Version 4.0.7Ĭhecking for FFTW library: fftw-3.3.6-pl2-sse2Ĭhecking for Qt qmake: /usr/local/Cellar/qt/5.9.1/bin/qmake (version 5.9.1) Machine architecture set by ARCH environment variable to: native

(amend with the actual path to the Qt executables on your system)ĮIGEN_CFLAGS="-isystem /usr/local/Cellar/eigen/3.2.10/include/eigen3" QMAKE=/usr/local/Cellar/qt/5.9.1/bin/qmake ARCH=native. Make sure your PATH environment variable includes the location of the correct MRtrix3 was unable to locate the Qt command ‘qmake’. configure -openmp ĬMD: /usr/local/Cellar/qt/5.9.1/bin/qmake QMAKE_CXXFLAGS=-fopenmp LIBS=-fopenmp -vĮrror invoking command “/usr/local/Cellar/qt/5.9.1/bin/qmake QMAKE_CXXFLAGS=-fopenmp LIBS=-fopenmp”: No such file or directory ( ), and make sure to include the full contents ofĮIGEN_CFLAGS="-isystem /usr/local/Cellar/eigen/3.2.10/include/eigen3" QMAKE="/usr/local/Cellar/qt/5.9.1/bin/qmake QMAKE_CXXFLAGS=-fopenmp LIBS=-fopenmp" ARCH=native. If this doesn’t help and you needįurther assistance, please post on the MRtrix3 community forum See the file ‘configure.log’ for details.
#QT MAC OS X SDK CODE#
configure -openmp ĬMD: /usr/local/bin/clang-omp++ -mmacosx-version-min=10.11 -lz -L/usr/local/Cellar/libtiff/4.0.7/lib -ltiff -L/usr/local/Cellar/fftw/3.3.6-pl2/lib -lfftw3 -fopenmp qt_moc.o qt.o -o qt -stdlib=libc++ -headerpad_max_install_names -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/atform/Developer/SDKs/MacOSX10.11.sdk -mmacosx-version-min=10.11 -Wl,-rpath, -F/usr/local/Cellar/qt/5.9.1/lib -framework QtOpenGL -framework QtWidgets -framework QtGui -framework QtCore -framework DiskArbitration -framework IOKit -framework QtSvg -framework OpenGL -framework AGLĬlang-3.5: error: linker command failed with exit code 1 (use -v to see invocation) configure Įverything works fine the installation does not appear to be using openmp as I am missing the flag -openmp.ĮIGEN_CFLAGS="-isystem /usr/local/Cellar/eigen/3.2.10/include/eigen3" ARCH=native.

#QT MAC OS X SDK INSTALL#
The second challenge is to install it with the flag -openmp.Įxport PATH=/usr/local/Cellar/qt/5.9.1/bin/:$PATH ĮIGEN_CFLAGS="-isystem /usr/local/Cellar/eigen/3.2.10/include/eigen3" ARCH=native. Following the instruction on the website I manage to install MRtrix3 without problem on Mac 10.11.5.
