Hey Jon,<div><br></div><div>Thanks for your instructions, I&#39;m sure others will find them useful. I&#39;ll include these along with Michael&#39;s in the documentation for the next release, along with a ready to use darwin.py config file and the patch you included. </div>

<div><br></div><div>Also glad to hear that I&#39;m not alone in finding it fiendishly difficult to compile GTK and dependencies from source... </div><div><br></div><div>On the topic of building command-line only applications, if anyone wants to do that, you can simply remove the mrview.cpp and disp_profile.cpp files from the cmd/ folder before invoking ./build (they&#39;re the only GUI applications in MRtrix). However, since the remaining programs still rely on glibmm and gsl, so you&#39;ll still need to install some dependencies, so not sure how much work you&#39;ll be saving yourself by doing this...</div>

<div><br></div><div>Cheers,</div><div><br></div><div>Donald.</div><div><br><br><div class="gmail_quote">On 19 May 2011 14:40, Jon Clayden <span dir="ltr">&lt;<a href="mailto:j.clayden@ucl.ac.uk">j.clayden@ucl.ac.uk</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Dear all,<br>
<br>
Just to follow up on the earlier thread quoted below (I wasn&#39;t on the mailing list when it was sent, so I can&#39;t directly continue it), I thought it might be useful to post my experiences of compiling MRtrix on Mac OS X.<br>


<br>
I&#39;ve had problems with Fink in the past, and I don&#39;t particularly like its approach of creating a whole software ecosystem separate from the rest of the system, so instead I used Homebrew &lt;<a href="http://mxcl.github.com/homebrew/" target="_blank">http://mxcl.github.com/homebrew/</a>&gt; to sort out the dependencies, which I find much cleaner. (I did - foolishly - attempt to build the dependencies by hand initially, but got stuck with pango and gave up.) So the steps were<br>


<br>
1. Install Homebrew as per &lt;<a href="https://github.com/mxcl/homebrew/wiki/installation" target="_blank">https://github.com/mxcl/homebrew/wiki/installation</a>&gt;:<br>
<br>
  $ ruby -e &quot;$(curl -fsSLk <a href="https://gist.github.com/raw/323731/install_homebrew.rb" target="_blank">https://gist.github.com/raw/323731/install_homebrew.rb</a>)&quot;<br>
<br>
(Xcode and X11 from the OS X install DVD are also needed, if they&#39;re not already installed.)<br>
<br>
2. Get and build the dependencies:<br>
<br>
  $ brew install gtkglext gtkmm gsl<br>
<br>
(The rest should be picked up automagically as dependencies of these three.)<br>
<br>
3. Patch MRtrix. A sysconf/darwin.py file needs to be created, as Michael says (mine is attached - it only includes the &quot;-mtune&quot; change), and since I&#39;m using the system OpenGL library rather than something provided by Fink, some .cpp/.h files need modifying. A patch using conditional compilation directives (to avoid breaking other platforms) is at the end of this e-mail. It should be safe to incorporate this into the main code-base.<br>


<br>
4. Run ./build and proceed as normal.<br>
<br>
This seems to result in working binaries. Naturally, most OS X systems won&#39;t have the run-time dependencies installed, so unless the whole lot gets bundled up together I wouldn&#39;t expect the binaries to be portable.<br>


<br>
If it&#39;s not too much work, though, it might be helpful to provide an alternative to the &quot;build&quot; script which only builds the command-line applications. Presumably the dependencies are far fewer in that case, so it might represent a simple &quot;way in&quot; for OS X users...<br>


<br>
All the best,<br>
<font color="#888888">Jon<br>
<br>
</font><br><br>
<br>
--<br>
diff -r mrtrix-0.2.9/src/dwi/render_frame.cpp mrtrix-0.2.9-patched/src/dwi/render_frame.cpp<br>
27a28,30<br>
&gt; #ifdef __APPLE__<br>
&gt; #include &lt;OpenGL/glu.h&gt;<br>
&gt; #else<br>
28a32<br>
&gt; #endif<br>
diff -r mrtrix-0.2.9/src/mrview/pane.cpp mrtrix-0.2.9-patched/src/mrview/pane.cpp<br>
22a23,25<br>
&gt; #ifdef __APPLE__<br>
&gt; #include &lt;OpenGL/glu.h&gt;<br>
&gt; #else<br>
23a27<br>
&gt; #endif<br>
diff -r mrtrix-0.2.9/src/mrview/pane.h mrtrix-0.2.9-patched/src/mrview/pane.h<br>
25a26,28<br>
&gt; #ifdef __APPLE__<br>
&gt; #include &lt;OpenGL/glu.h&gt;<br>
&gt; #else<br>
26a30<br>
&gt; #endif<br>
diff -r mrtrix-0.2.9/src/mrview/sidebar/tractography/roi_list.cpp mrtrix-0.2.9-patched/src/mrview/sidebar/tractography/roi_list.cpp<br>
27a28,30<br>
&gt; #ifdef __APPLE__<br>
&gt; #include &lt;OpenGL/glext.h&gt;<br>
&gt; #else<br>
28a32<br>
&gt; #endif<br>
diff -r mrtrix-0.2.9/src/mrview/sidebar/tractography/track_list_item.cpp mrtrix-0.2.9-patched/src/mrview/sidebar/tractography/track_list_item.cpp<br>
30a31,34<br>
&gt; #ifdef __APPLE__<br>
&gt; #include &lt;OpenGL/gl.h&gt;<br>
&gt; #include &lt;OpenGL/glext.h&gt;<br>
&gt; #else<br>
32a37<br>
&gt; #endif<br>
diff -r mrtrix-0.2.9/src/mrview/sidebar/tractography/track_list_item.h mrtrix-0.2.9-patched/src/mrview/sidebar/tractography/track_list_item.h<br>
41a42,44<br>
&gt; #ifdef __APPLE__<br>
&gt; #include &lt;OpenGL/gl.h&gt;<br>
&gt; #else<br>
42a46<br>
&gt; #endif<br>
diff -r mrtrix-0.2.9/src/mrview/texture.h mrtrix-0.2.9-patched/src/mrview/texture.h<br>
26a27,29<br>
&gt; #ifdef __APPLE__<br>
&gt; #include &lt;OpenGL/gl.h&gt;<br>
&gt; #else<br>
27a31<br>
&gt; #endif<br>
diff -r mrtrix-0.2.9/src/use_gl.h mrtrix-0.2.9-patched/src/use_gl.h<br>
25a26,28<br>
&gt; #ifdef __APPLE__<br>
&gt; #include &lt;OpenGL/gl.h&gt;<br>
&gt; #else<br>
26a30,31<br>
&gt; #endif<br>
&gt;<br>
<br>
<br>
<br>
&gt; Hi Michael,<br>
&gt;<br>
&gt; This is great news, and doesn&#39;t even sound too complicated! I&#39;ll add your<br>
&gt; instructions to the documentation and make sure they&#39;re available for the<br>
&gt; next release. In the meantime, I&#39;d be interested to hear how things are<br>
&gt; going with the Mac version, and whether you&#39;ve encountered any issues with<br>
&gt; it so far.<br>
&gt;<br>
&gt; Thanks,<br>
&gt;<br>
&gt; Donald.<br>
&gt;<br>
&gt;<br>
&gt; On 26 February 2011 13:19, Michael Zeineh &lt;mmzeineh at <a href="http://gmail.com" target="_blank">gmail.com</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Got it working! At least the basics ... mrview and mrconvert etc. Didn&#39;t test tractography yet ..<br>
&gt;&gt;<br>
&gt;&gt; I tried copying from one machine (10.6.5) to another (10.6), but this didn’t work, so I don’t think it is worth putting binaries anywhere ...<br>
&gt;&gt;<br>
&gt;&gt; Here is what I had to do<br>
&gt;&gt;<br>
&gt;&gt; Install fink per webpage in /sw64<br>
&gt;&gt;<br>
&gt;&gt; Download tarball<br>
&gt;&gt;<br>
&gt;&gt; tar -xvzf fink-0.29.19.tar.gz<br>
&gt;&gt;<br>
&gt;&gt; cd  fink-0.29.19<br>
&gt;&gt;<br>
&gt;&gt; ./bootstrap sw64 (puts fink in /sw64)<br>
&gt;&gt;<br>
&gt;&gt; fink install python glib gtk+ glibmm2.4 gtkmm2.4 gtkglext1 gsl<br>
&gt;&gt;<br>
&gt;&gt; at some point it bottoms out, so just repeat it, and it works<br>
&gt;&gt;<br>
&gt;&gt; copy linux.py Darwin.py<br>
&gt;&gt;<br>
&gt;&gt; modify Darwin.py cpp flags to read –mtune=native rather than –march=native<br>
&gt;&gt;<br>
&gt;&gt; modify darwin.py to add to the cpp flags: &#39;-L/sw64/lib&#39;, &#39;-I/sw64/include&#39;<br>
&gt;&gt;<br>
&gt;&gt; ./build<br>
&gt;&gt;<br>
&gt;&gt; copy to /usr/local/mri<br>
&gt;&gt;<br>
&gt;&gt; change permissions so all users can read<br>
&gt;&gt;<br>
&gt;&gt; change path to include /usr/local/mri/bin<br>
&gt;&gt;<br>
&gt;&gt; export DYLD_LIBRARY_PATH=&quot;/usr/local/mrtrix/lib&quot;<br>
&gt;&gt;<br>
&gt;&gt; Then things work!<br>
&gt;&gt;<br>
&gt;&gt; One time, it was complaining regarding the freetype library, and this required copying the /usr/x11/bin/libfreetype.6.dylib to /sw64/lib/freetype219/lib, though it didn’t require it the second time.<br>
<br>
<br>_______________________________________________<br>
Mrtrix-discussion mailing list<br>
<a href="mailto:Mrtrix-discussion@www.nitrc.org">Mrtrix-discussion@www.nitrc.org</a><br>
<a href="http://www.nitrc.org/mailman/listinfo/mrtrix-discussion" target="_blank">http://www.nitrc.org/mailman/listinfo/mrtrix-discussion</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Jacques-Donald Tournier (PhD)<br>Brain Research Institute, Melbourne, Australia<br>Tel: +61 (0)3 9035 7033<br>
</div>