Problem

How can I configure a user account for ACS development?

Solution

1.1 Create the account

If not already existing, create the account for your user. It should belong to the same group of almamgr and shall use the bash shell. The following commands show the typical way to create the account, assuming that almamgr belongs to the alma group, with group ID 335 (for user and group ids get in touch with your system administrators):

> useradd -g 335 -u 3070 -d /home/myuser -m -s /bin/bash <myuser>
> passwd <myuser>
Changing password for user <myuser>
New UNIX password: 
Retype new UNIX password: 
passwd: all authentication tokens updated successfully

1.2 Configure the environment

For each new user you must repeat the following steps:

#Login as you user
> cp -r /alma/ACS-version/ACSSW/config/.acs ~/
#Open $HOME/.bashrc with your favorite editor and add . $HOME/.acs/.bash_profile.acs somewhere
#Logout and login again.
> rm .emacs
> acsUserConfig
#And reply "y" to all questions

Note: the instructions above are only applicable if you are using the operating system recommended by ACS for the version of ACS installed on your PC! If this is not the case, you will most like likely have to modify $HOME/.acs/.bash_profile.acs to use the correct GNU tools installed with your OS.

1.3 Configure the INTROOT for the user

During development, $ACSROOT should not be touched and development software shall be installed in an Integration Area, i.e. an $INTROOT (or $INTLIST). Every developer/group can have their own $INTROOT, while $ACSROOT is the sacred official distribution. It is suggested that each user works with a private integration area.

To create an $INTROOT do the following:

> cd <parent directory for $INTROOT> (usually $HOME)
> getTemplateForDirectory INTROOT <introot-name> #(usually _'introot'_) and press <ENTER>

To configure the user environment to access the new $INTROOT, edit the file ~/.acs/.bash_profile.acs and uncomment the line or (better) set is in your $HOME/.bash_profile before sourcing ~/.acs/.bash_profile.acs

#    INTROOT=$HOME/introot

It is strongly suggested to periodically cleanup the integration root and create a clean one. The integration root should at least be wiped and re-created whenever new software is installed in $ACSROOT.

The same apply to setting $INTLIST

Notice that when setting these variables you must be careful with environment expansion and usage of quotes. Foe example this will not work:

INTLIST="~/myarea:dir2:dir3...."

because '~' would not be properly expanded. Remove the quotes in this case:

INTLIST=~/myarea:dir2:dir3....

Notice that the commented out example provided up to ACS 4.1 contains quotes. Quotes have been removed with ACS 5.0.

1.4 Configure search path for binaries, libraries and IDL files

See FAQGeneralDevelopmentEnvironmentModpath