public:user_software:user_software

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
public:user_software:user_software [2011-10-15 07:44] Lars Bahrenpublic:user_software:user_software [2017-03-08 15:27] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ~~NOTOC~~ ~~NOTOC~~
  
-====== User Software ======+====== LOFAR User Software ======
  
-[[#Code repository]] [[#Software packages]]+<html> 
 +<div style="border:2px dashed red; padding: 2em;"><h2>WARNING:</h2> This page appears to conflate the LOFAR system software repository (https://svn.astron.nl/LOFAR/) with the USG/LUS repository (http://usg.lofar.org/svn/code). Please treat any instructions below with caution until that has been sorted out!</div> 
 +</html> 
 + 
 +__TOC__:  
 + 
 +  - [[#Code repository]] 
 +    * [[#Organization of the repository]] 
 +    * [[#Checking out code]] / Read access 
 +    * [[#Updating your working copy]] 
 +    * [[#Write access to the repository]] 
 +  - **Software packages** 
 +    * [[CR-Tools]] 
 +    * [[DAL|Data Access Library]] (DAL) 
 +    * [[http://www.lofar.org/operations/doku.php?id=dynspec&do=edit&rev=1413205756|Dynspec Toolkit Container (DTC)]] 
 +    * [[LOPES-Eventbrowser]] 
 +    * <del>[[pyBDSM]]</del> (moved to LOFAR) 
 +    * [[http://www.astro.ru.nl/software/pycrtools/|PyCRTools]] 
 +    * [[Pulsar Tools]] 
 +    * <del>selfcal (Self-Calibration Imaging standalone tool)</del> (moved to LOFAR) [[http://www.lofar.org/operations/doku.php?id=commissioning:selfcal|selfcal wiki page]] 
 +  - [[Building an individual package]] 
 +  - [[#Supported platforms]] 
 +  - [[Reorganization of the software collection]]
  
 ==== Code repository ==== ==== Code repository ====
  
-=== Internal structure ===+=== Organization of the repository ===
  
 <file> <file>
-lus.lofar.org/svn+usg.lofar.org/svn
 |-- code |-- code
 |   |-- branches |   |-- branches
 |   `-- trunk |   `-- trunk
-|     |-- build+|     |-- devel_common
 |     |-- data |     |-- data
 |     |-- external |     |-- external
Line 25: Line 47:
 === Checking out code === === Checking out code ===
  
-As read-only access to the repository is not restricted in any ways, you can obtain a working copy of the source code by running +You can obtain a working copy of the source code by running (Registration is needed to access the repository; January 2013) 
-<code bash> +  * __using Subversion...__ <code bash> 
-svn co http://lus.lofar.org/svn/code/trunk lofarsoft +svn co http://usg.lofar.org/svn/code/trunk code</code> 
-</code>+  * __using Git...__ <code bash> 
 +git svn clone http://usg.lofar.org/svn/code/trunk code 
 +</code> Please be aware though that this will retrieve to complete backlog of all changes, so you might rather use <code bash> 
 +git svn clone -r <revision> http://usg.lofar.org/svn/code/trunk code 
 +cd lofarsoft 
 +git svn rebase 
 +</code> where ''<revision>'' is either a specific revision number or the word ''HEAD'', which refers to the latest available version.
  
-In case you not only want a working version of the source code, but also of the various documents, you do have two options to options of retrieval: +In case you not only want a working version of the source code, but also of the various documents:<code bash>
-  - Check out everything in a single go: <code bash> +
-svn co http://lus.lofar.org/svn usg +
-</code> +
-  - Check out a slightly cleaned-up version, omitting the ''trunk'' directories from your working version: <code bash>+
 mkdir usg mkdir usg
 cd usg cd usg
-svn co http://lus.lofar.org/svn/code/trunk code +svn co http://usg.lofar.org/svn/code/trunk code 
-svn co http://lus.lofar.org/svn/documents/trunk docs+svn co http://usg.lofar.org/svn/documents/trunk docs
 </code> </code>
  
-=== Updating your working copy === +Note: Release versions of the Pulsar tools (as used on CEP2 and CEP3) can be obtained from the URL (for example):<code> 
- +svn co http://usg.lofar.org/svn/code/branches/LOFAR-Pulp-Release-2_12 src
-Go to the ''build'' directory and type +
-<code bash+
-make update+
 </code> </code>
-In the simplest case this might be nothing but a wrapper around the ''update'' command of Subversionbut further actions might carried out if necessary.+This will download the whole treeincluding the pulsar tools.
  
-Then build your targetfor example "dal" with +=== Bootstrapping your working copy === 
-<code bash> + 
-make dal +Once the checkout from the central repository has completedyou are left with a directory structure as described above. The next step now is to get to the point where it is possible to build (and subsequently install) packages in the software collection... 
-</code>+ 
 +As the LUS uses the CMake cross-platform makefile generator to handle the configuration of the code base, the most important thing to check is whether or not a suitable version of CMake is available on your platform -- this check is carried out through the bootstrap script in the top-level directory of the working copy:
  
-You can also just build the target folder leaving everything else untouched using 
 <code bash> <code bash>
-cd dal +./bootstrap
-make rebuild_cache && make && make install+
 </code> </code>
  
-==== Software packages ====+The the main job of the ''bootstrap'' script is to check whether or not a recent enough version of CMake is installed on your system; if the found installation is too old or not available at all, a build from the provided sources is triggered and the resulting executables will be installed into "release/bin" (which of course then should be in your PATH).  
 + 
 +=== Updating your working copy === 
 + 
 +As with the case of retrieving your working working copy from the central repository, this step is very much depending on the tool used locally for version control: 
 + 
 +  * __Subversion__ : Change back to the top-level directory of your working copy and and run <code bash>svn up</code> 
 + 
 +  * __Git__ : Depending on your choice to deal with upstream changes, you might change back to the ''master'' branch of your working copy before running <code bash> 
 +git checkout master 
 +git svn rebase 
 +</code> If however you prefer to directly merge the upstream changes into your feature/development branch, you simply run <code bash>git svn rebase</code> In either case ensure there are no uncommitted changes -- either add and then commit them or stash them, before pulling in the upstream changes. 
 + 
  
-  * Data Access Library (DAL) +==== Local installation ==== 
-  * CR-Tools +{{public:user_software:installation_manual.pdf}}
-  * Pulsar Tools+
  • Last modified: 2011-10-15 07:44
  • by Lars Bahren