You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-15Lines changed: 15 additions & 15 deletions
Original file line number
Diff line number
Diff line change
@@ -19,39 +19,39 @@ The current set of features include:
19
19
- Support for publishers and subscriptions
20
20
- Tunable QoS settings
21
21
22
-
Lots of things are still missing however, see the [issue list](https://github.com/ros2-rust/ros2_rust/issues) for an overview.
22
+
Lots of things are still missing however, see the [issue list](https://github.com/ros2-rust/ros2_rust/issues) for an overview. You are very welcome to [contribute](docs/Contributing.md)!
23
23
24
-
The client library is still rapidly evolving, and there are no stability guarantees.
24
+
Since the client library is still rapidly evolving, there are no stability guarantees for the moment.
25
25
26
26
Sounds great, how can I try this out?
27
27
-------------------------------------
28
28
29
-
In a nutshell, the steps to get started are:
29
+
Here are the steps for building the `ros2_rust` examples in a vanilla Ubuntu Focal installation. See the [in-depth guide for building `ros2_rust` packages](docs/Building.md) for more details and options, including a Docker-based setup.
30
30
31
+
<!--- These steps should be kept in sync with docs/Building.md --->
31
32
```shell
33
+
# Install Rust, e.g. as described in https://rustup.rs/
34
+
# Install ROS 2 as described in https://docs.ros.org/en/foxy/Installation.html
35
+
# Assuming you installed the minimal version of ROS 2, you need these additional packages:
36
+
sudo apt install -y git libclang-dev python3-pip python3-vcstool # libclang-dev is required by bindgen
Copy file name to clipboardExpand all lines: docs/Building.md
+20-4Lines changed: 20 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -7,11 +7,27 @@ In this guide, the Foxy distribution of ROS 2 is used, but newer distributions c
7
7
8
8
## Environment setup
9
9
10
-
Building `rclrs` requires a standard [ROS 2 installation](https://docs.ros.org/en/foxy/Installation.html), and a few Rust-specific extensions.
10
+
Building `rclrs` requires a standard [ROS 2 installation](https://docs.ros.org/en/foxy/Installation.html), and a few extensions.
11
11
These extensions are: `colcon-cargo`, `colcon-ros-cargo`, `cargo-ament-build`. The former two are `colcon` plugins, and the latter is a `cargo` plugin.
12
12
13
-
It is recommended to use the premade Docker image that contains all the necessary dependencies.
14
-
If you do not want to use Docker, see the `Dockerfile` in the `ros2_rust` repo for how dependencies can be installed.
13
+
The `libclang` library is also required for automatically generating FFI bindings with `bindgen`. See the [`bindgen` docs](https://rust-lang.github.io/rust-bindgen/requirements.html) on how to install it. As a side note, on Ubuntu the `clang` package is not required, only the `libclang-dev` package.
14
+
15
+
The `python3-vcstool` package is used in [importing auxiliary repositories](#importing-repositories). It can also be installed through `pip` instead of `apt`.
16
+
17
+
You can use the [premade Docker image](#using-the-docker-image) that contains all these dependencies.
18
+
19
+
Otherwise, to sum up, here is how you would install the dependencies on Ubuntu:
20
+
21
+
<!--- These steps should be kept in sync with README.md --->
22
+
```shell
23
+
# Install Rust, e.g. as described in https://rustup.rs/
24
+
# Install ROS 2 as described in https://docs.ros.org/en/foxy/Installation.html
25
+
# Assuming you installed the minimal version of ROS 2, you need these additional packages:
26
+
sudo apt install -y git libclang-dev python3-pip python3-vcstool # libclang-dev is required by bindgen
*Note: Once `rclrs` is published on crates.io, it's not technically needed anymore to clone the `ros2_rust` repo, and this section should be adapted to reflect that.*
47
+
*Note: Once `rclrs` is published on crates.io, it's not technically needed anymore to clone the `ros2_rust` repo, and this section will be modified to reflect that.*
0 commit comments