docker: Workaround buildkit ignoring --cpuset-cpus.
This commit is contained in:
parent
b2d3ae4d0d
commit
8c629f20a6
|
@ -14,6 +14,7 @@ ARG rocksdb_version 7.4.3
|
||||||
ARG rocksdb_url
|
ARG rocksdb_url
|
||||||
ARG ctor_url https://github.com/matrix-construct/construct
|
ARG ctor_url https://github.com/matrix-construct/construct
|
||||||
ARG machine_spec
|
ARG machine_spec
|
||||||
|
ARG nprocs
|
||||||
|
|
||||||
ENV CC ${cc}
|
ENV CC ${cc}
|
||||||
ENV CXX ${cxx}
|
ENV CXX ${cxx}
|
||||||
|
@ -23,6 +24,7 @@ ENV rocksdb_version ${rocksdb_version}
|
||||||
ENV rocksdb_url https://codeload.github.com/facebook/rocksdb/tar.gz/refs/tags/v${rocksdb_version}
|
ENV rocksdb_url https://codeload.github.com/facebook/rocksdb/tar.gz/refs/tags/v${rocksdb_version}
|
||||||
ENV ctor_url ${ctor_url}
|
ENV ctor_url ${ctor_url}
|
||||||
ENV machine_spec ${machine_spec}
|
ENV machine_spec ${machine_spec}
|
||||||
|
ENV nprocs ${nprocs}
|
||||||
|
|
||||||
ENV packages_dev="\
|
ENV packages_dev="\
|
||||||
${packages_dev} \
|
${packages_dev} \
|
||||||
|
@ -51,7 +53,7 @@ RUN true \
|
||||||
&& cd /usr/src/construct \
|
&& cd /usr/src/construct \
|
||||||
&& ./autogen.sh \
|
&& ./autogen.sh \
|
||||||
&& (./configure --disable-iou --enable-generic --with-machine="${machine_spec}" || (cat config.log; exit 1)) \
|
&& (./configure --disable-iou --enable-generic --with-machine="${machine_spec}" || (cat config.log; exit 1)) \
|
||||||
&& make -j `nproc` EXTRA_LDFLAGS="-Wl,--strip-all" install \
|
&& make -j ${nprocs} EXTRA_LDFLAGS="-Wl,--strip-all" install \
|
||||||
&& rm -rf /usr/src/rocksdb \
|
&& rm -rf /usr/src/rocksdb \
|
||||||
&& rm -rf /usr/src/construct \
|
&& rm -rf /usr/src/construct \
|
||||||
&& rm -rf /usr/include/ircd \
|
&& rm -rf /usr/include/ircd \
|
||||||
|
|
|
@ -86,6 +86,11 @@ build()
|
||||||
if test ! -z "$runner_num"; then
|
if test ! -z "$runner_num"; then
|
||||||
cpu_num=$(expr $runner_num % $(nproc))
|
cpu_num=$(expr $runner_num % $(nproc))
|
||||||
args="$args --cpuset-cpus=${cpu_num}"
|
args="$args --cpuset-cpus=${cpu_num}"
|
||||||
|
args="$args --build-arg nprocs=1"
|
||||||
|
# https://github.com/moby/buildkit/issues/1276
|
||||||
|
else
|
||||||
|
nprocs=$(nproc)
|
||||||
|
args="$args --build-arg nprocs=${nprocs}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
args="$args --build-arg acct=${ctor_acct}"
|
args="$args --build-arg acct=${ctor_acct}"
|
||||||
|
|
|
@ -10,6 +10,7 @@ ARG rocksdb_avx 0
|
||||||
ARG rocksdb_avx2 0
|
ARG rocksdb_avx2 0
|
||||||
ARG boost_version 1.74
|
ARG boost_version 1.74
|
||||||
ARG icu_version 70
|
ARG icu_version 70
|
||||||
|
ARG nprocs 1
|
||||||
|
|
||||||
ENV rocksdb_version ${rocksdb_version}
|
ENV rocksdb_version ${rocksdb_version}
|
||||||
ENV rocksdb_url https://codeload.github.com/facebook/rocksdb/tar.gz/refs/tags/v${rocksdb_version}
|
ENV rocksdb_url https://codeload.github.com/facebook/rocksdb/tar.gz/refs/tags/v${rocksdb_version}
|
||||||
|
@ -17,6 +18,7 @@ ENV rocksdb_avx ${rocksdb_avx}
|
||||||
ENV rocksdb_avx2 ${rocksdb_avx2}
|
ENV rocksdb_avx2 ${rocksdb_avx2}
|
||||||
ENV boost_version ${boost_version}
|
ENV boost_version ${boost_version}
|
||||||
ENV icu_version ${icu_version}
|
ENV icu_version ${icu_version}
|
||||||
|
ENV nprocs ${nprocs}
|
||||||
|
|
||||||
ENV packages="\
|
ENV packages="\
|
||||||
ca-certificates \
|
ca-certificates \
|
||||||
|
@ -125,7 +127,7 @@ fi \
|
||||||
CFLAGS="-g0 -ftls-model=initial-exec" \
|
CFLAGS="-g0 -ftls-model=initial-exec" \
|
||||||
LDFLAGS="-Wl,--strip-all" \
|
LDFLAGS="-Wl,--strip-all" \
|
||||||
cmake -H. -Bbuild ${rocksdb_cmake} \
|
cmake -H. -Bbuild ${rocksdb_cmake} \
|
||||||
&& cmake --build build --target install --parallel `nproc` \
|
&& cmake --build build --target install --parallel ${nprocs} \
|
||||||
&& rm -rf /usr/lib/$(uname -m)-linux-gnu/librocksdb.a \
|
&& rm -rf /usr/lib/$(uname -m)-linux-gnu/librocksdb.a \
|
||||||
&& rm -rf /usr/src/rocksdb \
|
&& rm -rf /usr/src/rocksdb \
|
||||||
&& eval ${do_purge} ${packages_rocksdb_dev} \
|
&& eval ${do_purge} ${packages_rocksdb_dev} \
|
||||||
|
|
|
@ -12,11 +12,13 @@ ARG cxx
|
||||||
ARG extra_packages_dev
|
ARG extra_packages_dev
|
||||||
ARG ctor_url https://github.com/matrix-construct/construct
|
ARG ctor_url https://github.com/matrix-construct/construct
|
||||||
ARG machine_spec
|
ARG machine_spec
|
||||||
|
ARG nprocs
|
||||||
|
|
||||||
ENV CC ${cc}
|
ENV CC ${cc}
|
||||||
ENV CXX ${cxx}
|
ENV CXX ${cxx}
|
||||||
ENV ctor_url ${ctor_url}
|
ENV ctor_url ${ctor_url}
|
||||||
ENV machine_spec ${machine_spec}
|
ENV machine_spec ${machine_spec}
|
||||||
|
ENV nprocs ${nprocs}
|
||||||
|
|
||||||
ENV packages_dev="\
|
ENV packages_dev="\
|
||||||
${packages_dev} \
|
${packages_dev} \
|
||||||
|
@ -40,7 +42,7 @@ RUN true \
|
||||||
&& ln -sv /usr/src/rocksdb deps \
|
&& ln -sv /usr/src/rocksdb deps \
|
||||||
&& ./autogen.sh \
|
&& ./autogen.sh \
|
||||||
&& (./configure --enable-generic --with-machine="${machine_spec}" || (cat config.log; exit 1)) \
|
&& (./configure --enable-generic --with-machine="${machine_spec}" || (cat config.log; exit 1)) \
|
||||||
&& make -j `nproc` \
|
&& make -j ${nprocs} \
|
||||||
&& make install \
|
&& make install \
|
||||||
&& cd .. \
|
&& cd .. \
|
||||||
&& rm -rf construct \
|
&& rm -rf construct \
|
||||||
|
|
Loading…
Reference in New Issue