Difference between revisions of "MainPage:Nuclear:Summer2018:Software and Computing"
(18 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | |||
{|border="1" cellpadding="2" cellspacing="0" style="background-color:lightgray" | {|border="1" cellpadding="2" cellspacing="0" style="background-color:lightgray" | ||
| <font size="2">'''[[MainPage:Nuclear|⇐ Back to the Main_Page]]'''</font> | | <font size="2">'''[[MainPage:Nuclear|⇐ Back to the Main_Page]]'''</font> | ||
|} | |} | ||
+ | {|border="1" cellpadding="2" cellspacing="0" style="background-color:lightgray" | ||
+ | | <font size="2">'''[[MainPage:Nuclear:Summer2018|⇐ Back to Summer 2018]]'''</font> | ||
+ | |} | ||
+ | |||
+ | |||
+ | __TOC__ | ||
<div class="center" style="width:auto; margin-left:auto; margin-right:auto;">'''<font size="4" >Hall A/C Software and Computing Studies for Kaon LT and DVCS </font>''' </div> | <div class="center" style="width:auto; margin-left:auto; margin-right:auto;">'''<font size="4" >Hall A/C Software and Computing Studies for Kaon LT and DVCS </font>''' </div> | ||
Line 32: | Line 37: | ||
::*Can pick which programs to install.. already have root so don't need that. | ::*Can pick which programs to install.. already have root so don't need that. | ||
:::*FOR CSH SHELL SYSTEM WIDE LOGIN- Need to edit /etc/csh.login file to add | :::*FOR CSH SHELL SYSTEM WIDE LOGIN- Need to edit /etc/csh.login file to add | ||
− | :::* | + | ::::*<code> setenv ROOTSYS/usr/local/bin/build </code> |
− | :::* | + | ::::* <code> setenv JLAB_ROOT /opt/jlab_software </code> |
− | + | ::::* <code> source $JLAB_ROOT/2.2/ce/jlab.csh keepmine </code> | |
:::*FOR BASH SHELL SYSTEM WIDE LOGIN- Need to edit /etc/bashrc file to add | :::*FOR BASH SHELL SYSTEM WIDE LOGIN- Need to edit /etc/bashrc file to add | ||
− | :::* | + | ::::*<code> export ROOTSYS/usr/local/bin/build</code> |
− | :::* | + | ::::*<code> export JLAB_ROOT /opt/jlab_software</code> |
− | :::* | + | ::::*<code> source $JLAB_ROOT/2.2/ce/jlab.sh keepmine</code> |
*Server Setup updates | *Server Setup updates | ||
− | :* | + | :* Need static ID first, and then can put VNC (open source) on server. VNC allows connection offsite to server - Link: [https://cc.jlab.org/linux/rhel7vnc VNC Setup RHEL7] |
Line 52: | Line 57: | ||
*Link about GEMC and GEant4 Monte-Carlo - [https://gemc.jlab.org/gemc/html/index.html link] | *Link about GEMC and GEant4 Monte-Carlo - [https://gemc.jlab.org/gemc/html/index.html link] | ||
*[https://cc.jlab.org/linux/rhel7vnc VNC Setup RHEL7] | *[https://cc.jlab.org/linux/rhel7vnc VNC Setup RHEL7] | ||
− | * | + | *[https://www.linode.com/docs/databases/mysql/how-to-install-mysql-on-centos-7/ mysql install instructions] |
==To-do (Preliminary)== | ==To-do (Preliminary)== | ||
* Setup master server | * Setup master server | ||
Line 75: | Line 80: | ||
* You can download root two ways: from pre-compiled binaries suited for your OS, or using cmake and building root from the source code. For the source code and pre-compiled binaries go to: [https://root.cern.ch/content/release-61206 root version 6.12.06]. These instructions are for the installation from the source. | * You can download root two ways: from pre-compiled binaries suited for your OS, or using cmake and building root from the source code. For the source code and pre-compiled binaries go to: [https://root.cern.ch/content/release-61206 root version 6.12.06]. These instructions are for the installation from the source. | ||
*Either install the source code (.tar.gz) or use "git clone" to clone the root repository to your directory | *Either install the source code (.tar.gz) or use "git clone" to clone the root repository to your directory | ||
− | * In your terminal, first go to your /usr/local/ directory by doing $ cd /usr/local/ | + | * In your terminal, first go to your /usr/local/ directory by doing $ <code> cd /usr/local/ </code> |
− | * Then do $ git clone http://github.com/root-project/root.git | + | * Then do $ <code> git clone http://github.com/root-project/root.git </code> |
− | * Then go to root directory in /usr/local like $ cd root | + | * Then go to root directory in /usr/local like $ <code> cd root </code> |
− | * Then do $ git checkout -b v6-12-06 v6-12-06 | + | * Then do $ <code> git checkout -b v6-12-06 v6-12-06 </code> |
:* Remember to name the unpacked source file, like root6-12 or whatever, so you wont get confused with other versions or the build directory later.. do this anyway if you don't. | :* Remember to name the unpacked source file, like root6-12 or whatever, so you wont get confused with other versions or the build directory later.. do this anyway if you don't. | ||
:* This "root6-12" is a directory with all the cmake stuff in it, which will be used to build the source. | :* This "root6-12" is a directory with all the cmake stuff in it, which will be used to build the source. | ||
− | * Now you need to make a build directory in /usr/local/ by doing $ mkdir build *** note if you want to have a fixed location enabling all users to run root without setting a path, $mkdir build in /usr/local/bin/ NOT /usr/local/ | + | * Now you need to make a build directory in /usr/local/ by doing $<code> mkdir build </code> *** note if you want to have a fixed location enabling all users to run root without setting a path, $mkdir build in /usr/local/bin/ NOT /usr/local/ |
:* Since you are trying to compile and link the "build" directory to the source, you need this other build directory. This will look like /usr/local/build/ | :* Since you are trying to compile and link the "build" directory to the source, you need this other build directory. This will look like /usr/local/build/ | ||
* Now go to your build directory if you weren't already in it $ cd /usr/local/build/ and link to root via cmake by $ cmake /path/to/source/ or $ cmake /usr/local/root/ | * Now go to your build directory if you weren't already in it $ cd /usr/local/build/ and link to root via cmake by $ cmake /path/to/source/ or $ cmake /usr/local/root/ | ||
:* Note: if your source isn't in a directory named "root" then change it to the source directory name e.g. if it was named root6-12-06 then do $ cmake /usr/local/root6-12-06/ | :* Note: if your source isn't in a directory named "root" then change it to the source directory name e.g. if it was named root6-12-06 then do $ cmake /usr/local/root6-12-06/ | ||
− | * Now build it by $ cmake --build . -- -jN | + | * Now build it by $ <code> cmake --build . -- -jN </code> |
:* where N is the number of cores available to speed up the building. This will take a while regardless of the short cut. | :* where N is the number of cores available to speed up the building. This will take a while regardless of the short cut. | ||
* After the install is done, and nothing is broken/no error messages, test if root is working by going to your build directory and doing | * After the install is done, and nothing is broken/no error messages, test if root is working by going to your build directory and doing | ||
− | :* (for bash shell) $ . bin/thisroot.sh | + | :* (for bash shell) $ <code> . bin/thisroot.sh </code> |
− | :* (for csh shell) $ source /usr/local/build/bin/thisroot.sh | + | :* (for csh shell) $ <code> source /usr/local/build/bin/thisroot.sh </code> |
*Start a root interactive session by doing $ root | *Start a root interactive session by doing $ root | ||
* You should probably change the directory name of "build" to root6.12.06 or just root. So now root will be in /usr/local/root/ or /usr/local/root6.12.06.. **note don't do this if you are in a fixed location.. you will have to change vi | * You should probably change the directory name of "build" to root6.12.06 or just root. So now root will be in /usr/local/root/ or /usr/local/root6.12.06.. **note don't do this if you are in a fixed location.. you will have to change vi | ||
Line 96: | Line 101: | ||
:* For text editor emacs: emacs ~/.bash_profile OR emacs ~/.bashrc | :* For text editor emacs: emacs ~/.bash_profile OR emacs ~/.bashrc | ||
*Then add the lines, usually toward the bottom (applies to both bash_profile on mac and linux): | *Then add the lines, usually toward the bottom (applies to both bash_profile on mac and linux): | ||
− | :* export ROOTSYS=/usr/local/root | + | :* <code> export ROOTSYS=/usr/local/root </code> |
− | :* export PATH=$ROOTSYS/bin:$PATH | + | :* <code> export PATH=$ROOTSYS/bin:$PATH </code> |
− | :* export PYTHONDIR=$ROOTSYS/bindings/pyroot | + | :* <code> export PYTHONDIR=$ROOTSYS/bindings/pyroot </code> |
== JLab Software == | == JLab Software == |
Latest revision as of 16:20, 7 July 2018
⇐ Back to the Main_Page |
⇐ Back to Summer 2018 |
Network Server Setup at CUA
Current Progress
June the 28th of 2018:
The first server is up and running. We have begun testing software and settings to serve the lab's needs. ROOT is running and the server is working with ssh but is not remotely accessible. The next step is to install analyzer and make it so the server has remote access and possible a GUI for the users. To the best of our abilities VNC seems to be the best option for our use case but we are researching different options.
6-29-2018:
- Analyzer/root updates
- Wiped ROOT 6.15 (production version) and installed ROOT 6.12.06 in /usr/local/bin/ ..note I installed this in a "fixed" location so we don't need to edit the path (edit: still had to add path to ROOTSYS in bashrc). When I run root by typing $ root, there is X11 forwarding enabled now, so root is fully functional (fingers crossed).
- Tested root with tutorials in directory.. e.g. do $ cd $ROOTSYS/tutorials and run "hsimple.C" by $ root -l hsimple.C. Runs pretty fast.
- Think we can go ahead and work on installing analyzer.
- Server Setup updates
- Does not have static IP..don't think we need one.
- Need to create a home directory/share directory so we can put all our scripts.
7-02-2018:
- Analyzer/root updates
- Perhaps install JLab environment with GEant4 and GEMC since we will eventually need them. Link to install: JLab env 2.2 step-by-step instructions
- Says to install in /opt/ directory.
- Can pick which programs to install.. already have root so don't need that.
- FOR CSH SHELL SYSTEM WIDE LOGIN- Need to edit /etc/csh.login file to add
setenv ROOTSYS/usr/local/bin/build
setenv JLAB_ROOT /opt/jlab_software
source $JLAB_ROOT/2.2/ce/jlab.csh keepmine
- FOR BASH SHELL SYSTEM WIDE LOGIN- Need to edit /etc/bashrc file to add
export ROOTSYS/usr/local/bin/build
export JLAB_ROOT /opt/jlab_software
source $JLAB_ROOT/2.2/ce/jlab.sh keepmine
- Server Setup updates
- Need static ID first, and then can put VNC (open source) on server. VNC allows connection offsite to server - Link: VNC Setup RHEL7
Useful Links
- Enabling other users via adduser command: link
- Github instructions for installing root: root install info
- More of a CERN configuration for the network servers, but kind of helpful: twiki cern link
- An option to install the JLab environment 2.2 (march 2018), includes SCons and Geant4 so may be worth it: JLab env 2.2 step-by-step instructions
- This environment is what we use for our offsite analysis on "the farm"
- Link about GEMC and GEant4 Monte-Carlo - link
- VNC Setup RHEL7
- mysql install instructions
To-do (Preliminary)
- Setup master server
- Install CentOS7 (open source)
- Static IP designation
- Setup hostname
- DNS?
- Enable X11 Forwarding
- Create home or shared directory to put scripts in
- Add users for access to server
- Software setup (analyzer and root) to-do
- Install root 6.12.06 (most recent version)
- Test root files using root. Use $ROOTSYS/tutorials to run a code and see if it works.
- Install PODD software: analyzer 1.6.3 (most recent version) for Hall A and Hall C in different build directories..via /usr/local/
- Link for Hall A analyzer 1.6.3 Redmine pg, install '.gz' format and untar.
- Link for Hall C analyzer 1.6.3 Redmine pg, install '.gz' format and untar.
- Create a "setup" script like gohana and gohcana with correct environment variables set in path
- Have local root files available either on own computer or file servers to test network server communication with readability
- Clone master server x10 and designate different names e.g. npcua1, npcua2,npcua3.
Instructions for Installing root 6.12.06 on Linux CentOS7/Ubuntu 18.04/Mac OS X >10.10 from the source (Salina)
ROOT is a software used in experimental nuclear physics for data analysis and is C++ based. For more info go here. The commands in this section are written in terminal after the $, so don't type the $ while typing your command in the terminal.
- You can download root two ways: from pre-compiled binaries suited for your OS, or using cmake and building root from the source code. For the source code and pre-compiled binaries go to: root version 6.12.06. These instructions are for the installation from the source.
- Either install the source code (.tar.gz) or use "git clone" to clone the root repository to your directory
- In your terminal, first go to your /usr/local/ directory by doing $
cd /usr/local/
- Then do $
git clone http://github.com/root-project/root.git
- Then go to root directory in /usr/local like $
cd root
- Then do $
git checkout -b v6-12-06 v6-12-06
- Remember to name the unpacked source file, like root6-12 or whatever, so you wont get confused with other versions or the build directory later.. do this anyway if you don't.
- This "root6-12" is a directory with all the cmake stuff in it, which will be used to build the source.
- Now you need to make a build directory in /usr/local/ by doing $
mkdir build
*** note if you want to have a fixed location enabling all users to run root without setting a path, $mkdir build in /usr/local/bin/ NOT /usr/local/
- Since you are trying to compile and link the "build" directory to the source, you need this other build directory. This will look like /usr/local/build/
- Now go to your build directory if you weren't already in it $ cd /usr/local/build/ and link to root via cmake by $ cmake /path/to/source/ or $ cmake /usr/local/root/
- Note: if your source isn't in a directory named "root" then change it to the source directory name e.g. if it was named root6-12-06 then do $ cmake /usr/local/root6-12-06/
- Now build it by $
cmake --build . -- -jN
- where N is the number of cores available to speed up the building. This will take a while regardless of the short cut.
- After the install is done, and nothing is broken/no error messages, test if root is working by going to your build directory and doing
- (for bash shell) $
. bin/thisroot.sh
- (for csh shell) $
source /usr/local/build/bin/thisroot.sh
- (for bash shell) $
- Start a root interactive session by doing $ root
- You should probably change the directory name of "build" to root6.12.06 or just root. So now root will be in /usr/local/root/ or /usr/local/root6.12.06.. **note don't do this if you are in a fixed location.. you will have to change vi
- For a more permanent change, edit the login file, either .bash_profile on Mac OS X or .bashrc on linux by doing
- For text editor vim: vim ~/.bash_profile OR vim ~/.bashrc
- For text editor emacs: emacs ~/.bash_profile OR emacs ~/.bashrc
- Then add the lines, usually toward the bottom (applies to both bash_profile on mac and linux):
export ROOTSYS=/usr/local/root
export PATH=$ROOTSYS/bin:$PATH
export PYTHONDIR=$ROOTSYS/bindings/pyroot
JLab Software
Installing analyzer
Using PODD/Hall A & C analyzer
Link for information for Hall C Analyzer: hcana info Link for information for Hall A analyzer: Hall A analyzer info
Computing Workshop at JLab from June 25-26, 2018: Hall A/C Computing Workshop Info and Registration