LOADING

Easy cross-compilation with icedragon

In this lightning talk, we will explore the reasons why Icedragon was created, what makes it unique, and how you can use it to provide portable builds for your projects.

Michal Rostecki
Michal Rostecki is a Software Engineer specializing in Linux security, eBPF and blockchain.
About This Talk

Icedragon is a powerful tool that simplifies the process of building (and cross-compiling) static binaries using Rust, LLVM, and musl. In this talk, we will explore the reasons why Icedragon was created, what makes it unique, and how you can use it to provide portable builds for your projects.

About this talk

Cross-compilation and generating static binaries is a great way to distribute software to users, while making sure it works across Linux distributions. However, they can be complex tasks. In theory, Rust support for cross-compilation and static builds with musl libc. In practice, once your project depends on C libraries, or even uses any third-party crate with C dependencies, the complexity increases significantly. You might need to install foreign library copies, manage sysroots and at the end realize that your Linux distribution makes it difficult or impossible.

Icedragon was developed to address these challenges by providing an easy-to-use containerized environment that includes build essentials for various architectures. The CLI facilitates the use of Rust and clang within this environment, making it accessible and straightforward. All of that in zero-setup manner - just cargo install icedragon and you are good to go!

What sets Icedragon apart is its strong focus on LLVM as the default compiler toolchain and musl as the default libc. This choice is a sign of interest in novel tooling and ensures portability of software.

more great talks

Might Be Interesting

Day 1
  —  
2:35 pm
arrow pointing right icon

Embrace or ditch the async?

Should you dig the hype and default to Embassy when starting new microcontroller project? How it works and what does it bring to the table? Let's compare and measure the same IoT app written in sync and async Rust.

Day 1
  —  
10:45 am
arrow pointing right icon

ArcShift: Going faster than RwLock

In this lightning talk, we take a look at ArcShift, a lock-free data structure for shared data that still needs to be mutated.

Day 1
  —  
11:15 am
arrow pointing right icon

Rust Without Tears: A Guide to Avoiding Common Traps

This talk dives into common anti-patterns, offering practical tips to sidestep frustration. Whether you're new to Rust or leveling up, you’ll leave with insights to write clean, idiomatic, and maintainable code—without the tears.

Day 1
  —  
3:40 pm
arrow pointing right icon

Profile-Guided Optimization (PGO) in Rust: unknown parts

I applied PGO to many kinds of software, collected a lot of carefully hidden traps on my journey, and found multiple ways how to avoid them. In this talk, I want to share with you my experience.

Day 1
  —  
9:35 am
arrow pointing right icon

Reasoning with Async Rust

In this talk, we'll explore reasoning with async Rust. We'll be introduced to its fundamental building blocks, such as `async`, `await`, `join` and `select`, and learn how to predict the behavior of code written with them.

See All Events
Join us!

We're looking for amazing speakers.
CFP is open till 10.01.2023

Fill in Call for Papers
location icon

Location

Centrum Konferencyjne POLIN, Poland
stay in touch icon

Follow Us

Contact Us