forked from ROCm/dyninst
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.ubuntu
More file actions
77 lines (64 loc) · 2.17 KB
/
Copy pathDockerfile.ubuntu
File metadata and controls
77 lines (64 loc) · 2.17 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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
ARG version
FROM ubuntu:${version}
ARG build_elfutils="no"
ARG build_jobs=1
#####################################################
#
# Base container for an Ubuntu environment
#
# The dependencies are purposefully unversioned
# so that the distribution-default ones are used.
#
# If the distro's elfutils is too old, it can be
# built by using `--build-arg build_elfutils=yes`.
#
#####################################################
LABEL maintainer="@hainest"
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=America/Chicago
RUN apt-get -qq update && \
apt-get -qq install -y --no-install-recommends \
libboost-atomic-dev \
libboost-chrono-dev \
libboost-date-time-dev \
libboost-filesystem-dev \
libboost-thread-dev \
libboost-timer-dev \
build-essential \
bzip2 \
ca-certificates \
libc-dev \
clang \
cmake \
g++ \
git \
libiberty-dev \
libomp-dev \
pkg-config \
libtbb-dev
COPY docker/dependencies.versions docker/build_peparse.sh /
RUN <<EOD bash
set -ex
# Build pe-parse
bash build_peparse.sh
# Build elfutils
if test "${build_elfutils}" = "no"; then
# Use the distro-provided one
apt install -qq -y --no-install-recommends elfutils libelf-dev libdw-dev libdebuginfod-dev
else
# Build minimum required version from source
apt install -qq -y --no-install-recommends libcurl4-openssl-dev wget libzstd-dev libbz2-dev liblzma-dev zlib1g-dev m4
version=$(grep elfutils dependencies.versions | awk '{split($0,a,":"); print a[2]}')
wget --no-check-certificate https://sourceware.org/elfutils/ftp/\${version}/elfutils-\${version}.tar.bz2
bunzip2 elfutils-\${version}.tar.bz2
tar -xf elfutils-\${version}.tar
cd elfutils-\${version}/
mkdir build
cd build
../configure --enable-libdebuginfod --disable-debuginfod --prefix=/usr
make -j ${build_jobs}
make install
cd /
rm -rf elfutils-\${version}/ elfutils-\${version}.tar
fi
EOD