-
Notifications
You must be signed in to change notification settings - Fork 8
Expand file tree
/
Copy pathDockerfile-ubuntu24.04
More file actions
38 lines (27 loc) · 1.87 KB
/
Dockerfile-ubuntu24.04
File metadata and controls
38 lines (27 loc) · 1.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#dotnet-sdk-9.0 is available on Ubuntu 25.04 but not 24.04
#
#unfortunately some of the Emgu.CV dependencies in 25.04 are later versions than Emgu.CV will accept, in particular
#
#libavcodec-dev libswscale-dev libavformat-dev libvtk9-dev
#
#so use Ubuntu 24.04 but install dotnet-sdk-9.0 from ppa:dotnet/backports
#FROM ubuntu:25.04
FROM ubuntu:24.04
RUN apt-get update -y && apt-get install -y vim build-essential cmake unzip zip curl git software-properties-common
# UVAtlas appears to require at least gcc-14 to build; clang20 also works
#RUN apt-get install -y gcc-14 g++-14
#RUN update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-14 140 --slave /usr/bin/g++ g++ /usr/bin/g++-14
RUN curl https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
RUN add-apt-repository -y "deb http://apt.llvm.org/noble/ llvm-toolchain-noble-20 main"
RUN apt-get install -y clang-20 libomp-20-dev
RUN update-alternatives --install /usr/bin/clang clang /usr/bin/clang-20 140 --slave /usr/bin/clang++ clang++ /usr/bin/clang++-20
RUN add-apt-repository ppa:dotnet/backports && apt-get update -y && apt-get install -y dotnet-sdk-9.0
# Emgu.CV dependencies
# https://github.com/emgucv/emgucv/blob/4.12.0/platforms/ubuntu/24.04/apt_install_dependency
RUN apt-get install -y libgtk-3-dev libgstreamer1.0-dev libavcodec-dev libswscale-dev libavformat-dev libdc1394-dev libv4l-dev ocl-icd-dev freeglut3-dev libgeotiff-dev libusb-1.0-0-dev libvtk9-dev libfreetype-dev libharfbuzz-dev qtbase5-dev libeigen3-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgflags-dev libgoogle-glog-dev liblapacke-dev libva-dev
RUN cd /tmp && curl https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip -o awscli.zip && unzip awscli.zip && ./aws/install && rm awscli.zip && rm -rf aws
RUN echo "root:root" | chpasswd
RUN groupadd -r app && useradd -r -g app app
USER app
WORKDIR /home/app
RUN dotnet dev-certs https --trust