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 ruyvallem@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>
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 <ruyvallem@gmail.commailto:ruyvallem@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 <ruyvallem@gmail.commailto:ruyvallem@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 pagehttps://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.edumailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
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 RDICAMILLO@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 <ruyvallem@gmail.com mailto:ruyvallem@gmail.com> wrote:
External Email - Use CautionHello,
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 <ruyvallem@gmail.com mailto:ruyvallem@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
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.
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 <ruyvallem@gmail.commailto:ruyvallem@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 <RDICAMILLO@mgh.harvard.edumailto:RDICAMILLO@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 <ruyvallem@gmail.commailto:ruyvallem@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 <ruyvallem@gmail.commailto:ruyvallem@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 pagehttps://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.edumailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
_______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edumailto: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.edumailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
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 RDICAMILLO@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 <ruyvallem@gmail.com mailto:ruyvallem@gmail.com> wrote:
External Email - Use CautionHello 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 <RDICAMILLO@mgh.harvard.edu mailto:RDICAMILLO@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 <ruyvallem@gmail.com mailto:ruyvallem@gmail.com> wrote:
External Email - Use CautionHello,
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 <ruyvallem@gmail.com mailto:ruyvallem@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.
Hello Ruy - sending you a followup off list to your email.
- rob
On May 3, 2018, at 3:16 PM, Ricardo Valle <ruyvallem@gmail.commailto:ruyvallem@gmail.com> wrote:
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 herehttps://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 <RDICAMILLO@mgh.harvard.edumailto:RDICAMILLO@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 <ruyvallem@gmail.commailto:ruyvallem@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 <RDICAMILLO@mgh.harvard.edumailto:RDICAMILLO@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 <ruyvallem@gmail.commailto:ruyvallem@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 <ruyvallem@gmail.commailto:ruyvallem@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 pagehttps://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.edumailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
_______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edumailto: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.edumailto:Freesurfer@nmr.mgh.harvard.edu https://mail.nmr.mgh.harvard.edu/mailman/listinfo/freesurfer
_______________________________________________ Freesurfer mailing list Freesurfer@nmr.mgh.harvard.edumailto: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@nmr.mgh.harvard.edu