I’ve been trying to install mrtrix0.2 (unfortunately I can’t use mrtrix3 for now) on my mac without a success. I followed the online tutorial and installed all needed packages (tried both homebrew and macports).
I also tried the trick with downgrading gsl to the version 1.6 as suggested by one of the users as well as changing the path to /include/gsl in darwin.py
When I try to build it I always get a similar error no matter if i used homebrew or macports before and end up with lots of errors and warnings. I woudn’t be able to specify one problem so i am attaching a text log from my terminal https://dl.dropboxusercontent.com/u/20548272/error.txt
Any help would be appreciated.
I was partially able to solve the problem by adding ‘-std=c++11’ to the cpp flags in the darwin.py.
After this small improvement I was expecting to see some files in the bin folder however its empty…
When i try to do ./build install it of course fails.
This is the error
installing executables to “/usr/local/mrtrix/bin” and dynamic library to “/usr/local/mrtrix/lib”… Traceback (most recent call last):
File “./build”, line 950, in
apply_recursive (install, os.path.join (lib_dir, libname), os.path.join (dest_lib, libname))
File “./build”, line 765, in apply_recursive
action (source, destination)
File “./build”, line 782, in install
shutil.copy (source, destination)
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py”, line 119, in copy
File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/shutil.py”, line 82, in copyfile
with open(src, ‘rb’) as fsrc:
IOError: [Errno 2] No such file or directory: u’lib/libmrtrix-0_2_12.dylib’
I was finally able to install the software on the newewst Sierra. Code needed some adjustments.
- Downgrading gsl to version 1.16
$ git clone --single-branch https://github.com/macports/macports-ports.git
$ cd macports-ports
$ git checkout 1fa205ad58
$ cd math/gsl
$ sudo port install
Adding the flag of ‘-std=c++11’ to the darwin.py line 9
Adding a space in select_cmdline.cpp line 118 as suggested by the error.
Thanks for working this out. Just to clarify:
yes, you will need to downgrade to GSL version < 2, since their handling of spherical harmonics has changed. We could modify the code to match, but that would require a fair bit of work to implement and test - time that I’d rather spend on the current MRtrix3 version.
it seems the
-std=c++11 flag is indeed needed, since the
gtkmm libraries now rely on it (as per this page). I’ll amend the configs on my repo to match, it’s a trivial change.
I’ll also include your suggested modification - I get the same error on my system too now.