Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor/installation guide update #1

Open
wants to merge 4 commits into
base: installation-script
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 57 additions & 44 deletions INSTALL.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,18 +13,13 @@ This document explains how the [Orocos](http://www.orocos.org/) toolchain can be
- [Binary packages](#binary-packages)
- [Ubuntu and Debian](#ubuntu-and-debian)
- [Install from source](#install-from-source)
- [Build tools and dependencies](#build-tools-and-dependencies)
- [Debian/Ubuntu](#debianubuntu)
- [Other Linux distributions](#other-linux-distributions)
- [MacOS X](#macos-x)
- [Windows](#windows)
- [Quick start](#quick-start)
- [Download the sources](#download-the-sources)
- [Download source archive](#download-source-archive)
- [Clone from GitHub](#clone-from-github)
- [3. Build and Install](#3-build-and-install)
- [Getting Started](#getting-started)
- [Cross Compiling Orocos](#cross-compiling-orocos)
- [Resolving dependencies](#resolving-dependencies)
- [Installing](#installing)
- [Manual procedure](#manual-procedure)
- [1. Get the sources](#1-get-the-sources)
- [2. Build and Install](#2-build-and-install)
- [Further info](#further-info)

<!-- /TOC -->

Expand All @@ -34,7 +29,7 @@ This sections explains the supported Orocos targets and the Orocos versioning sc

### Supported platforms (targets)

Orocos was designed with portability in mind. Currently, we support RTAI/LXRT (http://www.rtai.org), GNU/Linux userspace, Xenomai (http://www.xenomai.org), Mac OS X (http://www.apple.com) and native Windows using Microsoft Visual Studio. So, you can first write your software as a normal Linux/Mac OS X program, using the framework for testing and debugging purposes in plain userspace (Linux/Mac OS X) and recompile later to a real-time target or MS Windows.
Orocos was designed with portability in mind. Currently, we support RTAI/LXRT (http://www.rtai.org), GNU/Linux userspace, Xenomai (http://www.xenomai.org), Mac OS X (http://www.apple.com). So, you can first write your software as a normal Linux/Mac OS X program, using the framework for testing and debugging purposes in plain userspace (Linux/Mac OS X) and recompile later to a real-time target. MS Windows was initially supported but it has not been tested recently.

### The versioning scheme

Expand Down Expand Up @@ -75,48 +70,69 @@ sudo apt-get install ros-<distro>-orocos-toolchain

## Install from source

### Build tools and dependencies

#### Debian/Ubuntu
### Quick start
The Orocos toolchain can be installed running a script that automatically download the source code, build it and install it.
The script supports Debian/Ubuntu and MacOS X but the dependencies should be resolved by the user.

Most dependencies mentioned above can be installed using the APT package management system:
#### Resolving dependencies
Before proceeding you should resolve the dependencies.

##### Debian/Ubuntu
If your operating system is Ubuntu, or another Debian-based Linux distribution which uses APT for package management, you can resolve the dependencies with the following command
```
sudo apt-get install build-essential git cmake libboost-all-dev libxml-xpath-perl
sudo apt-get install git cmake build-essential libboost-all-dev libreadline-dev libnetcdf-dev liblua5.1-dev libncurses5-dev
```

*Optional:* In case you want to build RTT with CORBA support, you also need to install the OmniORB (recommended) or TAO development packages:

```
sudo apt-get install omniorb omniidl omniorb-idl omniorb-nameserver libomniorb4-dev
```

#### Other Linux distributions
##### MacOS X
*TODO*

#### MacOS X
*TODO*
#### Installing
The procedure consists in the following steps:

#### Windows
*TODO*
1. Create the folder and move to it
```
mkdir -p ~/orocos-toolchain && cd ~/orocos-toolchain
```

### Quick start
2. Download the script from the [there](https://raw.githubusercontent.com/meyerj/orocos_toolchain/installation-script/install.sh) and copy it into the previously created folder.

The [orocos_toolchain](https://github.com/orocos-toolchain/orocos_toolchain) repository contains a shell script which implements all of the following steps and is the recommended way to install the Orocos toolchain from source:
If you are using a system that supports Wget you can do it from the terminal

For Linux:
```
wget https://raw.githubusercontent.com/meyerj/orocos_toolchain/installation-script/install.sh
```

3. Give permission to run the script

If you are using Debian/Ubuntu
```
chmod +x ./install.sh
```

5. Run the script
```
sudo ./install.sh
```

**Notes**
If you desire to install orocos with some additional features you can check available possibilities
running
```
mkdir -p ~/orocos-toolchain
cd ~/orocos-toolchain
wget https://raw.githubusercontent.com/orocos-toolchain/orocos_toolchain/master/install.sh
./install.sh --help
```

If you want to download or clone the sources manually and have full control over the build process, feel free to go o
### Manual procedure

### Download the sources
#### 1. Get the sources

#### Download source archive
To get the sources there are two possibilities:

#### Download the archive

The latest released version of the toolchain can be downloaded from here:
http://www.orocos.org/orocos/toolchain
Expand All @@ -129,11 +145,11 @@ tar xvjf orocos-toolchain-2.x.x-src.tar.bz2
cd orocos-toolchain-*
```

Note that the archive files provided by GitHub at https://github.com/orocos-toolchain/orocos_toolchain/releases will not work as the repository contains submodules, which are unfortunately not included in the files.
Note that the archive files provided by GitHub at https://github.com/orocos-toolchain/orocos_toolchain/releases will not work as the repository contains submodules, which are unfortunately not included in the files.

#### Clone from GitHub

If you want to use the latest development version or actively contribute to Orocos, it is recommended to clone the toolchain directly from GitHub:
If you want to use the latest development version or actively contribute to Orocos, it is recommended to clone the toolchain directly from GitHub:

```
mkdir -p ~/orocos-toolchain && cd ~/orocos-toolchain
Expand All @@ -151,16 +167,13 @@ cd orocos-toolchain

The `--recursive` argument is required because the toolchain GIT repository uses submodules to manage the links to the individual source repositories.

### 3. Build and Install

All toolchain packages rely on cmake as the underlying build tool, but every package has to be configured, build and installed in isolation.
Advanced users can invoke cmake and make directly or use [catkin](http://wiki.ros.org/catkin) or [catkin_tools](https://catkin-tools.readthedocs.io/en/latest/) as a build tool.
Otherwise it is recommended to use the `install.sh` script provided in the toolchain repository, which iterates over all toolchain packages in the right order and invokes cmake, make and make install within the `build/<package>` directory for each of them.

## Getting Started
#### 2. Build and Install

*to be copied from http://www.orocos.org/stable/documentation/rtt/v2.x/doc-xml/orocos-installation.html*
All toolchain packages rely on cmake as the underlying build tool, but every package has to be configured, build and installed in isolation.
Advanced users can invoke cmake and make directly or use [catkin](http://wiki.ros.org/catkin) or [catkin_tools](https://catkin-tools.readthedocs.io/en/latest/) as a build tool.
Otherwise it is recommended to use the `install.sh` script provided in the toolchain repository, which iterates over all toolchain packages in the right order and invokes cmake, make and make install within the `build/<package>` directory for each of them.

## Cross Compiling Orocos
## Further info

*to be copied from http://www.orocos.org/stable/documentation/rtt/v2.x/doc-xml/orocos-installation.html*
Further info on how to get started or more advanced topics such as "Cross Compiling Orocos" are available in the manual that can be reached through the following link:
http://www.orocos.org/stable/documentation/rtt/v2.x/doc-xml/orocos-installation.html.