Software/ROOT: Difference between revisions

From PBTWiki
Jump to navigation Jump to search
(Added instructions for local installation of ROOT on MacOS)
No edit summary
(7 intermediate revisions by the same user not shown)
Line 3: Line 3:
''Correct for MacOS High Sierra 10.13.6''
''Correct for MacOS High Sierra 10.13.6''


* Install Xcode from the Mac App Store. (Note: If using an older version of MacOS, previous versions of Xcode can be found here: [https://developer.apple.com/download/]
* Install Xcode from the Mac App Store. (Note: If using an older version of MacOS, previous versions of Xcode can be found here: [https://developer.apple.com/download/])
* Enable command line tools for Xcode using the terminal command: ''xcode-select --install''.
* Enable command line tools for Xcode using the terminal command: <code>xcode-select --install</code>.
* Download and run the ROOT dmg from CERN: [https://root.cern.ch/downloading-root]
* Download and run the ROOT dmg from CERN: [https://root.cern.ch/downloading-root]
* Navigate to your user folder in Finder, use '''CMD+SHIFT+.''' to show hidden files, one of which will be ''.bash_profile''.
* Navigate to your user folder in Finder, use '''CMD+SHIFT+.''' to show hidden files, one of which will be ''.bash_profile''.
* Edit the text file by adding the line: ''. <pathname>/root/bin/thisroot.sh'' (where ''<pathname>'' is the directory that leads to the folder ROOT is installed in, noting that the folder root typically has a version   number attached to it)
* Edit the text file by adding the line: <code>. <pathname>/root/bin/thisroot.sh</code> (where <code><pathname></code> is the directory that leads to the folder ROOT is installed in, noting that the folder root typically has a version number attached to it)
* If your ''.bash_profile'' is locked, add permissions by selecting “Get Info” and unlocking the file/giving yourself read and write privileges.
* If your ''.bash_profile'' is locked, add permissions by selecting “Get Info” and unlocking the file/giving yourself read and write privileges.
* You can now run ROOT in terminal by typing ''root''.
* You can now run ROOT in terminal by typing <code>root</code>.
 
== Using ROOT in Eclipse IDE on MacOS ==
 
''C++ code for analysis of data from LeCroy Oscilloscope and QUARC exist in pre-compiled software, edited in Eclipse and containing a rudimentary text-based interface to minimise programming knowledge required for usage. These instructions detail how to allow a C/C++ Eclipse project to access ROOT's libraries.''
 
* First, locate the directory where ROOT is installed on your computer, e.g. for ROOT v6.14.00 on MacOS: "/Applications/root_v6.14.00". '''The following instructions will use this path as an example'''.
* Right-click on the project and select properties (shortcut: CMD+I)
* Navigate to C/C++ Build –> Environment and add the variables:
** Name: LD_LIBRARY_PATH,  Value: /Applications/root_v6.14.00/lib
** Name: ROOTSYS, Value: /Applications/root_v6.14.00
* Navigate to C/C++ Build –> Settings –> Tool Settings –> MacOS X C++ Linker –> Libraries
** Add the libraries, '''in individual entries and in this order''' (exclude commas): Gui, Core, Imt, RIO, Net, Hist, Graf, Graf3d, Gpad, ROOTDataFrame, ROOTVecOps, Tree, TreePlayer, Rint, Postscript, Matrix, Physics, MathCore, Thread, MultiProc, pThread, m, dl
** Add the library search path: /Applications/root_v6.14.00/lib
* Navigate to MacOS X C++ Linker –> Miscellaneous and add (replacing if needed): -pthread -stdlib=libc++ -std=c++11 -m64
* Navigate to GCC C++ Compiler –> Includes and add the include path: /Applications/root_v6.14.00/include
* Navigate to GCC C++ Compiler –> Optimization
** Change the Optimization Level to "Optimize most (-O3)
** Add the following Other Optimization Flags (replacing if needed): -pthread -stdlib=libc++ -std=c++11 -m64
* Navigate to GCC C++ Compiler –> Miscellaneous and add (replacing if needed): -c -fmessage-length=0 -pthread -stdlib=libc++ -std=c++11 -m64
*'''Repeat the instructions for GCC C++ Compiler for GCC C Compiler if you wish to write/edit C code''''. Otherwise, ensure that all C++ source files which are not headers have the file extension '.cpp'.
 
These instructions were based off this [http://www.hep.ucl.ac.uk/pbt/wikiData/presentations/2019/EclipseRoot.pdf tutorial].

Revision as of 16:29, 4 December 2019

Local Installation on MacOS

Correct for MacOS High Sierra 10.13.6

  • Install Xcode from the Mac App Store. (Note: If using an older version of MacOS, previous versions of Xcode can be found here: [1])
  • Enable command line tools for Xcode using the terminal command: xcode-select --install.
  • Download and run the ROOT dmg from CERN: [2]
  • Navigate to your user folder in Finder, use CMD+SHIFT+. to show hidden files, one of which will be .bash_profile.
  • Edit the text file by adding the line: . <pathname>/root/bin/thisroot.sh (where <pathname> is the directory that leads to the folder ROOT is installed in, noting that the folder root typically has a version number attached to it)
  • If your .bash_profile is locked, add permissions by selecting “Get Info” and unlocking the file/giving yourself read and write privileges.
  • You can now run ROOT in terminal by typing root.

Using ROOT in Eclipse IDE on MacOS

C++ code for analysis of data from LeCroy Oscilloscope and QUARC exist in pre-compiled software, edited in Eclipse and containing a rudimentary text-based interface to minimise programming knowledge required for usage. These instructions detail how to allow a C/C++ Eclipse project to access ROOT's libraries.

  • First, locate the directory where ROOT is installed on your computer, e.g. for ROOT v6.14.00 on MacOS: "/Applications/root_v6.14.00". The following instructions will use this path as an example.
  • Right-click on the project and select properties (shortcut: CMD+I)
  • Navigate to C/C++ Build –> Environment and add the variables:
    • Name: LD_LIBRARY_PATH, Value: /Applications/root_v6.14.00/lib
    • Name: ROOTSYS, Value: /Applications/root_v6.14.00
  • Navigate to C/C++ Build –> Settings –> Tool Settings –> MacOS X C++ Linker –> Libraries
    • Add the libraries, in individual entries and in this order (exclude commas): Gui, Core, Imt, RIO, Net, Hist, Graf, Graf3d, Gpad, ROOTDataFrame, ROOTVecOps, Tree, TreePlayer, Rint, Postscript, Matrix, Physics, MathCore, Thread, MultiProc, pThread, m, dl
    • Add the library search path: /Applications/root_v6.14.00/lib
  • Navigate to MacOS X C++ Linker –> Miscellaneous and add (replacing if needed): -pthread -stdlib=libc++ -std=c++11 -m64
  • Navigate to GCC C++ Compiler –> Includes and add the include path: /Applications/root_v6.14.00/include
  • Navigate to GCC C++ Compiler –> Optimization
    • Change the Optimization Level to "Optimize most (-O3)
    • Add the following Other Optimization Flags (replacing if needed): -pthread -stdlib=libc++ -std=c++11 -m64
  • Navigate to GCC C++ Compiler –> Miscellaneous and add (replacing if needed): -c -fmessage-length=0 -pthread -stdlib=libc++ -std=c++11 -m64
  • Repeat the instructions for GCC C++ Compiler for GCC C Compiler if you wish to write/edit C code'. Otherwise, ensure that all C++ source files which are not headers have the file extension '.cpp'.

These instructions were based off this tutorial.