Skip to content

Commit 029e503

Browse files
hhzguothesueslyppg
authored
Add Dockerfile.build for a docker image to build infinistore project (#154)
Co-authored-by: dongmao zhang <[email protected]> Co-authored-by: jxp <[email protected]>
1 parent ad6fa2e commit 029e503

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

Dockerfile.build

+61
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
FROM quay.io/pypa/manylinux_2_28_x86_64
2+
3+
RUN yum -y install rdma-core-devel libuv-devel
4+
5+
RUN dnf clean all
6+
RUN dnf makecache
7+
8+
# build spdlog v1.15.1
9+
WORKDIR /tmp
10+
RUN git clone --recurse-submodules https://github.com/gabime/spdlog.git && \
11+
cd spdlog && \
12+
git checkout f355b3d && \
13+
git submodule update --recursive
14+
WORKDIR /tmp/spdlog
15+
RUN cmake -G "Unix Makefiles" && \
16+
make -j8 && \
17+
make install
18+
RUN rm -rf /tmp/spdlog
19+
20+
# build fmt 11.1.3
21+
WORKDIR /tmp
22+
RUN git clone https://github.com/fmtlib/fmt.git && \
23+
cd fmt && \
24+
git checkout 9cf9f38
25+
WORKDIR /tmp/fmt
26+
RUN cmake -G "Unix Makefiles" && \
27+
make -j8 && \
28+
make install
29+
RUN rm -rf /tmp/fmt
30+
31+
# build flatbuffer
32+
WORKDIR /tmp
33+
RUN git clone https://github.com/google/flatbuffers.git && \
34+
cd flatbuffers && \
35+
git checkout 33e2d80
36+
WORKDIR /tmp/flatbuffers
37+
RUN cmake -G "Unix Makefiles" && \
38+
make -j8 && \
39+
make install
40+
41+
ENV PATH=/usr/local/flatbuffers/bin:$PATH
42+
RUN rm -rf /tmp/flatbuffers
43+
44+
# Install boost
45+
RUN dnf install -y boost boost-devel
46+
47+
# Install pybind11 for different versions of built-in python3 by almalinux
48+
RUN /opt/python/cp310-cp310/bin/pip3 install pybind11
49+
RUN /opt/python/cp311-cp311/bin/pip3 install pybind11
50+
51+
# In almalinux, setuptools for python3.12 is not installed
52+
# so install it
53+
RUN /opt/python/cp312-cp312/bin/pip3 install setuptools
54+
RUN /opt/python/cp312-cp312/bin/pip3 install pybind11
55+
56+
# The above get the build environment ready!
57+
WORKDIR /app
58+
RUN git config --global --add safe.directory /app
59+
60+
# Optional: Define an entry point to run the executable directly
61+
# ENTRYPOINT ["/app/build/my_executable"]

0 commit comments

Comments
 (0)