Skip to content

Commit c7ea1e5

Browse files
authored
feat: Add Ubuntu 24.04 support (#48)
1 parent ab69782 commit c7ea1e5

File tree

2 files changed

+45
-0
lines changed

2 files changed

+45
-0
lines changed

build/Dockerfile.ubuntu24.04

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# 1. Build the Docker image
2+
# ```
3+
# docker build --no-cache -t firedbg-ubuntu24.04 -f build/Dockerfile.ubuntu24.04 .
4+
# # Or, keeping the full build log
5+
# docker build --no-cache --progress plain -t firedbg-ubuntu24.04 -f build/Dockerfile.ubuntu24.04 .
6+
# ```
7+
# 2. Start a Docker container and mount the directories to the container
8+
# ```
9+
# docker run --name firedbg-ubuntu24.04 --rm -it -v $(pwd):/FireDBG.for.Rust firedbg-ubuntu24.04
10+
# ```
11+
# 3. Build release
12+
# ```
13+
# cd /FireDBG.for.Rust && sh build-tools/release-x86_64-ubuntu.sh
14+
# ```
15+
16+
FROM ubuntu:24.04
17+
18+
# apt install without interactive dialogue
19+
ARG DEBIAN_FRONTEND=noninteractive
20+
21+
# The following dependencies are required
22+
RUN apt update
23+
# Needed in `release.sh`
24+
RUN apt install curl unzip -y
25+
# Needed to build FireDBG executables and run self tests
26+
RUN apt install clang build-essential pkg-config libssl-dev -y
27+
RUN apt install liblldb-18 python3-lldb-18 libc++-dev libc++abi1-18 -y
28+
# Link c++ to `clang` instead of g++
29+
RUN update-alternatives --set c++ /usr/bin/clang++
30+
31+
# Install Rust
32+
RUN curl https://sh.rustup.rs -sSf | sh -s -- --profile minimal -y
33+
ENV PATH "/root/.cargo/bin:$PATH"
34+
35+
# Create symbolic links such that `cargo` and `lldb` can locate them
36+
RUN ln -s /usr/lib/x86_64-linux-gnu/liblldb-18.so.1 /usr/lib/x86_64-linux-gnu/liblldb.so
37+
38+
# For unknown reason, if LLDB cannot locate `lldb-server`
39+
RUN export LLDB_DEBUGSERVER_PATH=/usr/lib/llvm-18/bin/lldb-server-18.0.0

install.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,9 @@ get_architecture() {
154154
case "$_os_id_like" in
155155
ubuntu*)
156156
case "$_os_version_id" in
157+
24*) # Ubuntu Noble
158+
local _ostype="ubuntu24.04"
159+
;;
157160
21*) # Ubuntu Jammy
158161
local _ostype="ubuntu22.04"
159162
;;
@@ -168,6 +171,9 @@ get_architecture() {
168171
esac
169172
esac
170173
case "$_ostype" in
174+
ubuntu24*)
175+
check_apt_install libc++abi1-18
176+
;;
171177
ubuntu22*)
172178
check_apt_install libc++abi1-15
173179
;;

0 commit comments

Comments
 (0)