Translations of this page:

Building and installing

Here it is assumed that you want to use software where source code is available. First think if this software is used only by you or group of users.

Single user

Install software to your home directory.

Multiple users

First ask admin to create build and installation directories. Inform if software is only allowed to be used by limited user group. Three different directories are created to common space and one of them contains source and build directories. Second is install directory where installed software is available for all (or limited group of) users and third is for environment modules.

Example: User named someuser want to install following open source code: LUTtestcode

Admin creates directory /shared/install/LUTtestcode to store different versions and builds etc.:

[someuser@celaeno ~] ll /shared/install/LUTtestcode
drwxr-xr-x 7 someuser someuser 62 14.12.2016 LUTtestcode

Admin creates directory /shared/apps/LUTtestcode (or under /shared/libs/ if library is being installed) where calculation code is installed:

[someuser@celaeno ~] ll /shared/apps/LUTtestcode
drwxr-xr-x 7 someuser someusergroup 62 14.12.2016 LUTtestcode

Admin creates directory /shared/modules/LUTtestcode where environment module file calculation code is installed:

[someuser@celaeno ~] ll /shared/modules/LUTtestcode
drwxr-xr-x 7 someuser someusergroup 62 14.12.2016 LUTtestcode

Build process

Use calculation nodes for all build tasks as login node computing power is very limited and not all libraries are installed on login (if you are not familiar with interactive use be sure to read page Interactive use first):

srun -p phase1 -N 1 -n 1 -c 12 -t 02:00:00 --pty $SHELL

First get source code of LUTtestcode to build directory:

cd /shared/install/LUTtestcode
wget http://LUTsomeserver?something=LUTtestcode-0.2.tar.gz
tar -xzvf LUTtestcode-0.2.tar.gz
cd LUTtestcode-0.2

Load environment modules (if any is needed) like proper compiler version, libraries and MPI-environment which are needed during build:

module load somegcc somelib somempi

After someuser carefully read instructions (for example from INSTALL file provided with code) the installation process is started. Process could be something like:

./configure --prefix=/shared/apps/LUTtestcode/0.2
make -j 12
make install

Then environment module needs to be created under /shared/modules/LUTtestcode to allow easy usage of installed software.

cd /shared/modules/LUTtestcode
cp /shared/modules/someothersoftware/X.Y.Z.lua .
mv X.Y.Z.lua 0.2.lua
nano 0.2.lua

Last step is to document needed steps by writing INSTALL file under install directory (/shared/install/<somesoftware>) to make things simple when you (or someone else) is building next version of this software. Be sure to write tutorial case to this wiki under software section if installed software is going to be used by other researchers or students.

/opt/webdata/webroot/wiki/data/pages/en/hpc/software/buildinstall.txt · Last modified: 2018/12/14 08:19 by vrintala
[unknown button type]
Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Noncommercial-Share Alike 3.0 Unported
Recent changes RSS feed Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki