Install the toolchain
RosieOS is a monorepo of C++, Go, TypeScript and Python components. There is no single installer: you install a small set of standard tools, then each component builds with its own make, go, npm or pixi command.
For a simulated cell you need the tools marked Simulation. The rest depends on what you are working on.
Host#
Use Linux x86-64. Continuous integration (CI) runs on Ubuntu 22.04, which is the reference. WSL2 on Windows works too.
- The dev stack reads
/procand usessetsid, so it runs on Linux only. - The OLP launcher builds its server for
linux/amd64. - The Tesseract environment needs glibc 2.35 or later.
- In WSL, keep the working sockets on a Linux filesystem. Unix sockets cannot bind under
/mnt/c. The dev stack uses$XDG_RUNTIME_DIRor$TMPDIR, so pointTMPDIRsomewhere like/dev/shm/rosieif yours is on the Windows drive.
A real cell host also needs a PREEMPT_RT kernel and the IgH EtherCAT master. That is covered in Install rt-core on a cell host, not here.
Tools#
| Tool | Version | Needed for | Used by |
|---|---|---|---|
C++17 compiler, make, pkg-config, pthread | GCC from Ubuntu 22.04 build-essential | Simulation | rt-core, both motion servers, pendants |
| Go | 1.26.2 (go.mod declares go 1.24 with toolchain go1.26.2) | Simulation | rt-control, rtctl, the SDK, OLP server, virtual pendant bridge |
Python 3 and curl | Any current | Simulation | dev-stack.sh and local-rt-core.sh helpers |
| Node.js and npm | 22 (CI pins 22.13.1) | Simulation (OLP app) | OLP UI, virtual pendant UI, TypeScript checks |
| pixi | Current; each project pins its own lock file | Simulation (OLP app) | tesseract/v1 (required by OLP), weld_planner/v1, cadquery/v1 |
| NVIDIA driver and CUDA 12 or later | — | Weld planning only | weld_planner/v1 motion environment |
nats-server | 2.14 or later | Optional | dev-stack nats service |
Qt 5 (Widgets, Gui, Xml, Network, Qml) and Assimp, found through pkg-config | — | Pendant v5 only | steamdeck/real/v5 |
| IgH EtherCAT master | 1.6.9 by default | Real hardware only | make live in rt-core |
On Ubuntu 22.04, this covers the native build dependencies CI installs:
sudo apt-get update
sudo apt-get install -y build-essential pkg-config python3 curl git git-lfsInstall Go 1.26.2, Node 22 and pixi from their upstream installers, and put them on your PATH. dev-stack.sh puts ~/.rosie/bin, ~/.rosie/go-1.26.2/bin and ~/.rosie/node-22.13.1/bin in front of your PATH. You don't need those directories. If they don't exist, it uses whatever your PATH already finds.
Note
Some READMEs in the repository show commands such as ./rosie.sh …, .\rosie.ps1 … or rosie … v1 …. Those belong to an internal tool that is not part of RosieOS, so they will not work from a clone. Use the make, go, npm, pixi and dev-stack.sh commands in these docs instead. The operator CLI in this repository is rtctl.
Clone#
Install Git LFS before you clone. Sample STEP parts and some mesh sources are stored in LFS.
git lfs install
git clone https://github.com/advanced-metal-research/RosieOS.git
cd RosieOSIf you cloned without LFS, run git lfs pull in the checkout.
Check the install#
Build the real-time core and its tools. This needs only the compiler and Go:
make -C rt-core control sim
ls rt-core/buildYou should see rt-control, rtctl, benchdrive, rt-natspublisher and rosie-rt-core-sim.
For the OLP app, install the Tesseract environment and the UI packages once:
(cd tesseract/v1 && pixi install --locked)
(cd offline-programming/v1/ui && npm ci)To plan welds, install the weld planner's environments. The default environment (seam detection) runs on the CPU. The motion environment needs an NVIDIA GPU with CUDA 12 or later:
cd weld_planner/v1
pixi install -e default
pixi install -e motionWhich component needs what#
| Component | Directory | Build | Needs |
|---|---|---|---|
| Real-time core and control API | rt-core | make control sim (simulation), make live (hardware) | C++17, Go; IgH for live |
| Cartesian motion server | motion-server/v1 | make all | C++17, a built rt-core |
| Dense trajectory daemon | motion-server/joint-trajectory/v1 | make all | C++17 |
| Offline programming server | offline-programming/v1 | start-offline-programming.sh builds it | Go, Tesseract env |
| Offline programming UI | offline-programming/v1/ui | npm ci, then npm run dev | Node 22 |
| Weld planner | weld_planner/v1 | pixi install -e default / -e motion | pixi; CUDA for motion |
| Virtual pendant | steamdeck/virtual | go build ./cmd/local; v1/ui: npm ci | Go, Node 22 |
| Pendant v5 | steamdeck/real/v5 | make all | Qt 5, Assimp, Node |
Next#
Start the simulated cell in the Quickstart.