-
Notifications
You must be signed in to change notification settings - Fork 17
Installation
These instructions are for installing a pre-built rogue package inside an anaconda environment. This currently only works for Linux-x64. Marcos is not yet supported.
Download and install anaconda (or miniconda) if you don't already have it installed on your machine. Choose an install location with a lot of available diskspace (> 5GB). Anaconda appears to only work reliably in the bash shell.
Go to https://www.anaconda.com/download to get the latest version of anaconda. Example steps for installing anaconda are included below:
# wget https://repo.anaconda.com/archive/Anaconda3-5.3.0-Linux-x86_64.sh
# bash Anaconda3-5.3.0-Linux-x86_64.sh
You do not need to install visual studio.
Use the following command to add anaconda to your environment. This can be added to your .bash_profile.
$ source /path/to/my/anaconda3/etc/profile.d/conda.sh
The next step is to create ana anaconda environment which includes the rogue package.
$ conda create -n rogue_env -c defaults -c conda-forge -c paulscherrerinstitute -c slacrherbst python=3.6 rogue
The order of the args is important. slacrherbst is the channel from which the rogue package is downloaded.
You now have an anaconda environment named rogue_env which contains all of the packages required to run rogue.
No additional setup scripts need to be run rogue in an anaconda environment. To activate and de-activate the rogue environment you can use the following commands:
To activate:
$ conda activate rogue_env
To deactivate:
$ conda deactivate
To install rogue and anaconda behind a firewall you will need an ssl capable https proxy. I have used mitmproxy with success:
$ mitmproxy --list-host=gateway.machine.com --list-port=8080
You will execute a number of steps to enable proxy for wget, git and anaconda
$ setenv https_proxy gateway.machine.com:8080
$ git config --global https.proxy https://gateway.machine.com:8080
$ git config --global http.sslVerify false
Create a file $HOME/.condarc and add the following lines:
proxy_servers:
http:http://gateway.machine.com:8080
https:https://gateway.machine.com:8080
ssl_verify: false
These instructions are for building rogue outside of the anaconda environment.
The following packages are required to build the rogue library:
- cmake >= 3.5
- Boost >= 1.58
- python3 >= 3.6
- bz2
To add these packages on Ubuntu 17.04 (or later):
$ apt-get install cmake (or cmake3)
$ apt-get install python3
$ apt-get install libboost-all-dev
$ apt-get install libbz2-dev
$ apt-get install python3-pip
$ apt-get install git
$ apt-get install libzmq3-dev
$ apt-get install python3-pyqt5 (or python3-pyqt4)
To add these packages on archlinux:
$ pacman -S cmake
$ pacman -S python3
$ pacman -S boost
$ pacman -S bzip2
$ pacman -S python-pip
$ pacman -S git
$ pacman -S zeromq
$ pacman -S python-pyqt5 (or python-pyqt4)
Epics V3 support is and optional module that will be included in the rogue build if the EPICS_BASE directory is set in the user's environment.
The following python packages are required to use rogue in the python3 environment. Currently I am using PIP to install these, but you are free to use your favorite python tool.
$ pip3 install PyYAML
$ pip3 install Pyro4
$ pip3 install parse
$ pip3 install click
$ pip3 install pyzmq
$ pip3 install mysqlclient
There are three possible modes for building/installing rogue:
-
Local: Rogue is going to be used in the local checkout directory. A setup script is generated to add rogue to the system environment.
-
Custom: Rogue is going to be installed in a custom non-system directory. A setup script is generated to add rogue to the system environment.
-
System: The rogue headers and libraries will be installed to a standard system directory and the python filed will be installed using the system python package installed.
$ git clone https://github.com/slaclab/rogue.git
$ cd rogue
$ mkdir build
$ cd build
$ cmake .. -DROGUE_INSTALL=local
$ make
$ make install
$ source ../setup_rogue.csh (or .sh)
$ git clone https://github.com/slaclab/rogue.git
$ cd rogue
$ mkdir build
$ cd build
$ cmake .. -DROGUE_INSTALL=custom -DROGUE_DIR=/path/to/custom/dir
$ make
$ make install
$ source /path/to/custom/dir/setup_rogue.csh (or .sh)
$ git clone https://github.com/slaclab/rogue.git
$ cd rogue
$ mkdir build
$ cd build
$ cmake .. -DROGUE_INSTALL=system
$ make
$ make install
to update from git and rebuild:
$ git pull
$ cd build
$ make rebuild_cache
$ make clean
$ make install