Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove boost::filesystem from builds #6810

Merged
merged 2 commits into from
Jan 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion Dockerfile.win10.min
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,6 @@ RUN bootstrap-vcpkg.bat
RUN vcpkg.exe update
RUN vcpkg.exe install \
b64:x64-windows \
boost-filesystem:x64-windows \
boost-interprocess:x64-windows \
boost-stacktrace:x64-windows \
openssl-windows:x64-windows \
Expand Down
11 changes: 0 additions & 11 deletions build.py
Original file line number Diff line number Diff line change
Expand Up @@ -974,7 +974,6 @@ def create_dockerfile_buildbase(ddir, dockerfile_name, argmap):
RUN wget -O /tmp/boost.tar.gz \
https://archives.boost.io/release/1.80.0/source/boost_1_80_0.tar.gz && \
(cd /tmp && tar xzf boost.tar.gz) && \
cd /tmp/boost_1_80_0 && ./bootstrap.sh --prefix=/usr && ./b2 install && \
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

May I ask you to briefly clarify where else boost is used and why we are keeping it here?

Copy link
Contributor Author

@rmccorm4 rmccorm4 Jan 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We use the header-only boost libs (span in cache, interprocess_lock in python backend, stacktrace in server, and some others) in several places.

boost::filesystem was the only one that needed a runtime shared library requiring this extra bootstrap+install step.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Got it, thanks

Copy link

@vadimkantorov vadimkantorov Jun 7, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is there still an external dependency on libboost? Or could these header-only libs be included in-tree? Also, what is now the minimal version of the needed boost? Does it work again with ubuntu-22.04-shipped boost 1.74?

mv /tmp/boost_1_80_0/boost /usr/include/boost

# Server build requires recent version of CMake (FetchContent required)
Expand Down Expand Up @@ -1222,16 +1221,6 @@ def dockerfile_prepare_container_linux(argmap, backends, enable_gpu, target_mach
{backend_dependencies} \
&& rm -rf /var/lib/apt/lists/*

# Install boost version >= 1.78 for boost::span
# Current libboost-dev apt packages are < 1.78, so install from tar.gz
RUN wget -O /tmp/boost.tar.gz \
https://archives.boost.io/release/1.80.0/source/boost_1_80_0.tar.gz \
&& (cd /tmp && tar xzf boost.tar.gz) \
&& cd /tmp/boost_1_80_0 \
&& ./bootstrap.sh --prefix=/usr \
&& ./b2 install \
&& rm -rf /tmp/boost*

# Set TCMALLOC_RELEASE_RATE for users setting LD_PRELOAD with tcmalloc
ENV TCMALLOC_RELEASE_RATE 200
""".format(
Expand Down
Loading