External Email - Use Caution        

Thank you for your help Rob. Could you walk me through how you ran 
setup_configure and configure on Mac?

I ran (from the root of the tree):
./setup_configure
./configure F77=/usr/local/bin/gfortran-4.9 CC=/usr/local/bin/gcc-4.9 
CXX=/usr/local/bin/g++-4.9 --with-pkgs-dir=/Users/ruyvalle/Documents/fs-deps/ 
--disable-Werror --prefix=$HOME/fsdev_install --disable-kww-apps
make clean
make -r
Importantly, make -r said:
"Making all in trc
make[2]: Nothing to be done for `all’.”

I’ve tried using --disable-GUI-build instead of --disable-kww-apps with 
configure before as well, as instructed here 
<https://surfer.nmr.mgh.harvard.edu/fswiki/freesurfer_mac_developers_page>.

I also tried:
cd trc
make dmri_train
The end of make dmri_train’s output is:
ld: entry point (_main) undefined. for architecture x86_64
collect2: error: ld returned 1 exit status
make: *** [dmri_train] Error 1

I believe the --disable-kww-apps causes the Makefile in freesurfer/trc to 
comment out the instructions that would make it build anything. For instance:
#bin_PROGRAMS = dmri_spline$(EXEEXT) \
#       dmri_trk2trk$(EXEEXT) \
#       dmri_vox2vox$(EXEEXT) \
#       dmri_train$(EXEEXT) \
#       dmri_paths$(EXEEXT) \
#       dmri_pathstats$(EXEEXT) \
#       dmri_mergepaths$(EXEEXT) \
#       dmri_motion$(EXEEXT) \
#       dmri_group$(EXEEXT) \
#       dmri_forrest$(EXEEXT)

I tried uncommenting all the dmri_train settings in the Makefile and running 
make dmri_train again, and get the following:
In file included from blood.h:26:0,
                 from dmri_train.cxx:26:
vial.h:36:17: fatal error: mpi.h: No such file or directory
 #include <mpi.h>
                 ^
compilation terminated.
make: *** [dmri_train.o] Error 1

My guess is that something is not happening properly during ./setup_configure 
or ./configure.

By the way, do you know what the am_* options are in the Makefile?

Ruy
> On May 3, 2018, at 1:35 PM, Dicamillo, Robert <rdicami...@mgh.harvard.edu> 
> wrote:
> 
> Hello Ruy,
> 
> The -r flag to will cause the build to skip some dependencies, e.g., 
> sometimes makefiles
> will rebuild the world when you don’t need them to, so if you are building 
> only 1
> file, then it can be useful.
> 
> It works for me to cd to  ./freesurfer/trc and do the same thing without using
> -r, i.e.,
> 
> $ cd ./freesurfer/trc
> $ rm -f dmri_train dmri_train.o
> $ make dmri_train
> 
> But I’m doing this in a freesurfer tree where I have already built everything 
> once, or I’ve
> run the preconfigure, configure steps, and done a make from the top of the 
> tree (./freesurfer).
> 
> If you see a Makefile in a directory where you want to build, then you can 
> look for
> the program name in the Makefile.  In this case, if you search for dmi_train 
> in
> ./freesurfer/trc/Makefile you will see at line 819,
> 
> dmri_train$(EXEEXT): $(dmri_train_OBJECTS) $(dmri_train_DEPENDENCIES) 
> $(EXTRA_dmri_train_DEPENDENCIES)
> 
> This is the rule to build dmri_train, or the target to build 
> (dmri_train$(EXEEXT)) is on the left hand side of a colon,
> its dependencies are on the right hand side of the colon, and the commands to 
> build it are what follows underneath.
> 
> The variable $(EXEEXT) gets set to be whatever the executable extension is 
> for the OS you are building on; in the
> case of linux this is set to an empty string, so for linux the rule could be 
> written as,
> 
> dmri_train: $(dmri_train_OBJECTS) $(dmri_train_DEPENDENCIES) 
> $(EXTRA_dmri_train_DEPENDENCIES)
> 
> So you can expect that telling make to build the target “dmri_train” should 
> do something, i.e., “make dmri_train”.
> 
> But the dependencies for dmri_train include some libraries, which do not get 
> built just by typing
> “make dmri_train” under ./freesurfer/trc when nothing else has been built in 
> the tre.  We can look at trying
> to remedy this, but I think the expectation has been that people build from 
> the top of the tree
> (or at least do that once).
> 
> - rob
> 
> 
>> On May 2, 2018, at 7:16 PM, Ricardo Valle <ruyval...@gmail.com 
>> <mailto:ruyval...@gmail.com>> wrote:
>> 
>>         External Email - Use Caution        
>> 
>> 
>> Hello Rob,
>> 
>> No, I mean the dmri_train binary that is part of Tracula. The main source 
>> file is ./freesurfer/trc/dmri_train.cxx. I don’t mind building the whole 
>> tree if necessary, but I haven’t been able to do so either. Do you know what 
>> the -r flag to make does?
>> 
>> Thank you,
>> Ruy
>>> On May 2, 2018, at 6:51 PM, Dicamillo, Robert <rdicami...@mgh.harvard.edu 
>>> <mailto:rdicami...@mgh.harvard.edu>> wrote:
>>> 
>>> Hello Ruy,
>>> 
>>> Do you mean the mri_train binary that gets built under 
>>> ./freesurfer/mri_train ?
>>> (I see a ./freesurfer/dmri_poistats, ./freesurfer/dmri_tensroreig but not a 
>>> ./freesurfer/dmri_train).
>>> 
>>> Things are not necessarily setup so you can cd to ./freesurfer/<subdir> and 
>>> just build
>>> what is there in isolation from the rest of the tree.
>>> 
>>> But for ./freesiurfer/mri_train, you could try the following, which worked 
>>> for me on a Mac, e.g.,
>>> after changing mri_train.c,
>>> 
>>> $ cd ./freesurfer/mri_train
>>> $ rm -f mri_train mri_train.o
>>> $ make -r mri_train
>>> 
>>> - rob
>>> 
>>> 
>>> 
>>> 
>>>> On May 2, 2018, at 5:37 PM, Ricardo Valle <ruyval...@gmail.com 
>>>> <mailto:ruyval...@gmail.com>> wrote:
>>>> 
>>>>         External Email - Use Caution        
>>>> 
>>>> 
>>>> Hello,
>>>> 
>>>> I need help recompiling dmri_train for Mac. It seems like the instructions 
>>>> in the Mac Developer’s don’t work.
>>>> 
>>>> When I cd to the trc subdirectory and run make, I am told there is nothing 
>>>> to do. I tried editing the Makefile, adding bin_PROGRAMS = dmri_train, at 
>>>> which point I got a different error. I then uncommented some other lines 
>>>> in the Makefile and managed to start compiling dmri_train, but I’ve been 
>>>> getting a never-ending sequence of errors, essentially telling me that the 
>>>> compiler can’t find various dependencies (boost/program_options.h, itk*.h, 
>>>> etc.). I’ve tried running ./configure with various flags that disable or 
>>>> enable various build options, copying over .h files from other locations, 
>>>> adding -I <path> directives for the compiler in the Makefile, etc. etc. to 
>>>> no avail.
>>>> 
>>>> Thank you,
>>>> Ruy
>>>>> On Apr 30, 2018, at 5:19 PM, Ricardo Valle <ruyval...@gmail.com 
>>>>> <mailto:ruyval...@gmail.com>> wrote:
>>>>> 
>>>>> Dear Freesurfer community,
>>>>> 
>>>>> I am trying to recompile Freesurfer in order to get a binary of the 
>>>>> latest version of dmri_train. I have been following the instructions in 
>>>>> the Freesurfer Mac Developer’s page 
>>>>> <https://surfer.nmr.mgh.harvard.edu/fswiki/freesurfer_mac_developers_page>
>>>>>  and am stuck at the following:
>>>>> git annex get --metadata fstags=makeinstall .
>>>>> 
>>>>> I am attaching the output (stdout and stderr) from this command to this 
>>>>> email. Please note that I called the git-annex repository mgh rather than 
>>>>> datasrc. The purpose of running this is so I can run make install.
>>>>> 
>>>>> Is there a way of recompiling only dmri_train or only the dmri_* 
>>>>> programs? If not, do you know why git-annex might be giving me problems 
>>>>> and how to solve this?
>>>>> 
>>>>> Thank you,
>>>>> Ruy
>>>>> <fs-annex-get.txt>
>>>> 
>>>> _______________________________________________
>>>> Freesurfer mailing list
>>>> Freesurfer@nmr.mgh.harvard.edu <mailto:Freesurfer@nmr.mgh.harvard.edu>
>>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer 
>>>> <https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer>
>>> _______________________________________________
>>> Freesurfer mailing list
>>> Freesurfer@nmr.mgh.harvard.edu <mailto:Freesurfer@nmr.mgh.harvard.edu>
>>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer 
>>> <https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer>
>>> 
>>> 
>>> The information in this e-mail is intended only for the person to whom it is
>>> addressed. If you believe this e-mail was sent to you in error and the 
>>> e-mail
>>> contains patient information, please contact the Partners Compliance 
>>> HelpLine at
>>> http://www.partners.org/complianceline . If the e-mail was sent to you in 
>>> error
>>> but does not contain patient information, please contact the sender and 
>>> properly
>>> dispose of the e-mail.
>> 
>> _______________________________________________
>> Freesurfer mailing list
>> Freesurfer@nmr.mgh.harvard.edu <mailto:Freesurfer@nmr.mgh.harvard.edu>
>> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
> 
> _______________________________________________
> Freesurfer mailing list
> Freesurfer@nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
> 
> 
> The information in this e-mail is intended only for the person to whom it is
> addressed. If you believe this e-mail was sent to you in error and the e-mail
> contains patient information, please contact the Partners Compliance HelpLine 
> at
> http://www.partners.org/complianceline . If the e-mail was sent to you in 
> error
> but does not contain patient information, please contact the sender and 
> properly
> dispose of the e-mail.

_______________________________________________
Freesurfer mailing list
Freesurfer@nmr.mgh.harvard.edu
https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer


The information in this e-mail is intended only for the person to whom it is
addressed. If you believe this e-mail was sent to you in error and the e-mail
contains patient information, please contact the Partners Compliance HelpLine at
http://www.partners.org/complianceline . If the e-mail was sent to you in error
but does not contain patient information, please contact the sender and properly
dispose of the e-mail.

Reply via email to