Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Could AFNI be compiled and installed through the source code? #395

Open
Wenmj201582 opened this issue Aug 15, 2022 · 4 comments
Open

Could AFNI be compiled and installed through the source code? #395

Wenmj201582 opened this issue Aug 15, 2022 · 4 comments

Comments

@Wenmj201582
Copy link

Could AFNI be compiled and installed through the source code?
I want to compile and install the source code of AFNI on CentOS or Euler.
Please give me instructions.

Thank you

@afni-rickr
Copy link
Contributor

Hi @Wenmj201582 . See src/other_builds/OS_notes.linux_centos_7.txt for system setup.
For compiling (on CentOS 7):

   cd afni/src
   cp Makefile.linux_centos_7_64 Makefile
   make itall 2>&1 | tee out.make.txt

To initialize an 'abin' with atlases, into which you could rsync the build output directory linux_centos_7_64 (from above), consider:

   curl -O https://afni.nimh.nih.gov/pub/dist/bin/misc/@update.afni.binaries
   @update.afni.binaries -no_recur -package anyos_text -bindir my.abin

@sassy-crick
Copy link

Th chime in here: I am currently working on an EasyConfig file, so once that is merged, you can install the software via EasyBuild.
This is the current PR of it.
This might make things a bit easier, hopefully.

@afni-rickr
Copy link
Contributor

I have not used EasyBuild. Would there be just a single .eb file then, or would there need to be one per version snapshot?

@sassy-crick
Copy link

Well, we usually don't do one EasyConfig file for every release as that could be simply too much. So per toolchain (compiler, MPI etc) there is usually only one version around, normally the one a user requested to be installed on the HPC cluster we are maintaining. That said: nobody stops you to use that as a template and just bump the version up. So for example, if we got say version AFNI_23.0.00 merged in EasyBuild, a user who is interested in building the latest bugfix, i.e. AFNI_23.0.xy, could use that EasyConfig file as a template, bump up the version and update the checksum. Unless there are drastic changes, which should not be as it is only a bug-fix release, that should work.
For example, that should work:

  • install EasyBuild (see instructions here)
  • $ eb --copy-ec --from-pr 17309
  • $ eb -r AFNI-23.0.03-foss-2022a.eb
    That would download the PR I opened from the GitHub page (AFNI-23.0.03-foss-2022a.eb), so you can have a look at it.
    The next step does install AFNI including all of the dependencies (see issue List of required packages #448) from source and tests them, and finally installs the AFNI version you specify. Assuming you are using Lmod it will also create the module files for you.
    (Note: you also can use the environment-modules but there are a few additional flags you need to pass to EasyBuild to make it work).

I hope that helps a bit.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants