Installing software in your home directory: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 10: Line 10:


<!--T:3-->
<!--T:3-->
'''Read the installation instructions that accompany the software.''' These instructions often fall into one of the classes described below.
<b>Read the installation instructions that accompany the software.</b> These instructions often fall into one of the classes described below.


== configure; make; make install == <!--T:4-->
== configure; make; make install == <!--T:4-->
Line 19: Line 19:


<!--T:5-->
<!--T:5-->
Sometimes this will work exactly as prescribed, but sometimes it will fail at <code>make install</code> because the package expects to be able to write to <code>/usr/local</code> or some other shared area in the file system. It will always fail if <code>sudo make install</code> is attempted, because <code>sudo</code> is a request for "root" or administrator privileges. The usual solution is to supply a <code>--prefix</code> flag at the <code>configure</code> step, to direct the installation to go to the directory of your choice, ''e.g.:''
Sometimes this will work exactly as prescribed, but sometimes it will fail at <code>make install</code> because the package expects to be able to write to <code>/usr/local</code> or some other shared area in the file system. It will always fail if <code>sudo make install</code> is attempted, because <code>sudo</code> is a request for "root" or administrator privileges. The usual solution is to supply a <code>--prefix</code> flag at the <code>configure</code> step, to direct the installation to go to the directory of your choice, e.g.,
{{Command|./configure --prefix{{=}}/my/project/directory/some-package && make && make install}}
{{Command|./configure --prefix{{=}}/my/project/directory/some-package && make && make install}}


Line 78: Line 78:
<!--T:14-->
<!--T:14-->
Notes:
Notes:
* all binaries under <code>/cvmfs/soft.computecanada.ca</code> use what is called a RUNPATH, which means that the directories for the runtime libraries that these binaries depend on are put inside the binary. That means it is generally '''not''' necessary to use <code>$LD_LIBRARY_PATH</code>. In fact, <code>$LD_LIBRARY_PATH</code> overrides this runpath and you should '''not''' set that environment variable to locations such as <code>/usr/lib64</code> or <code>$EBROOTGENTOO/lib64</code>. Many binaries will no longer work if you attempt this.
* all binaries under <code>/cvmfs/soft.computecanada.ca</code> use what is called a RUNPATH, which means that the directories for the runtime libraries that these binaries depend on are put inside the binary. That means it is generally <b>not</b> necessary to use <code>$LD_LIBRARY_PATH</code>. In fact, <code>$LD_LIBRARY_PATH</code> overrides this runpath and you should <b>not</b> set that environment variable to locations such as <code>/usr/lib64</code> or <code>$EBROOTGENTOO/lib64</code>. Many binaries will no longer work if you attempt this.
* if all else fails you can use <code>module --force purge</code> to remove the CVMFS environment. You are then left with a bare-bones CentOS-7 installation without modules. This may help for special situations such as compiling GCC yourself or using custom toolchains such as the [http://www.astro.wisc.edu/~townsend/static.php?ref=mesasdk MESA SDK]. Purging modules would then '''only''' be necessary when you compile such software; the modules can be reloaded when running it.
* if all else fails you can use <code>module --force purge</code> to remove the CVMFS environment. You are then left with a bare-bones CentOS-7 installation without modules. This may help for special situations such as compiling GCC yourself or using custom toolchains such as the [http://www.astro.wisc.edu/~townsend/static.php?ref=mesasdk MESA SDK]. Purging modules would then <b>only</b> be necessary when you compile such software; the modules can be reloaded when running it.


== Compiling on compute nodes == <!--T:26-->
== Compiling on compute nodes == <!--T:26-->
rsnt_translations
56,420

edits