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

Server build with python BE failing due to missing Boost lib #7925

Open
buddhapuneeth opened this issue Jan 9, 2025 · 6 comments
Open

Server build with python BE failing due to missing Boost lib #7925

buddhapuneeth opened this issue Jan 9, 2025 · 6 comments

Comments

@buddhapuneeth
Copy link

Description
server build is failing with error:

-- Found CUDA: /usr/local/cuda (found version "12.6")
-- Using CUDA 12.6
CMake Warning (dev) at CMakeLists.txt:67 (find_package):
  Policy CMP0167 is not set: The FindBoost module is removed.  Run "cmake
  --help-policy CMP0167" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

This warning is for project developers.  Use -Wno-dev to suppress it.

In file included from /code/tensorrt_llm/server/build/tritonserver/build/_deps/repo-third-party-build/grpc-repo/src/grpc/src/core/ext/filters/channel_idle/channel_idle_filter.cc:43:
/code/tensorrt_llm/server/build/tritonserver/build/_deps/repo-third-party-build/grpc-repo/src/grpc/src/core/lib/promise/loop.h:121:31: warning: attribute ignored in declaration of 'union grpc_core::promise_detail::Loop<F>::<unnamed>' [-Wattributes]
  121 |   GPR_NO_UNIQUE_ADDRESS union { GPR_NO_UNIQUE_ADDRESS PromiseType promise_; };
      |                               ^
/code/tensorrt_llm/server/build/tritonserver/build/_deps/repo-third-party-build/grpc-repo/src/grpc/src/core/lib/promise/loop.h:121:31: note: attribute for 'union grpc_core::promise_detail::Loop<F>::<unnamed>' must follow the 'union' keyword
CMake Error at /usr/local/lib/python3.10/dist-packages/cmake/data/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake:233 (message):
  Could NOT find Boost (missing: Boost_INCLUDE_DIR) (Required is at least
  version "1.78")
Call Stack (most recent call first):
  /usr/local/lib/python3.10/dist-packages/cmake/data/share/cmake-3.30/Modules/FindPackageHandleStandardArgs.cmake:603 (_FPHSA_FAILURE_MESSAGE)
  /usr/local/lib/python3.10/dist-packages/cmake/data/share/cmake-3.30/Modules/FindBoost.cmake:2409 (find_package_handle_standard_args)
  CMakeLists.txt:67 (find_package)

Triton Information
What version of Triton are you using?
TRITON_VERSION=v2.43.0
TRITON_SERVER_REPO=https://github.com/triton-inference-server/server.git

To Reproduce
git clone --depth 1 --branch ${TRITON_VERSION} ${TRITON_SERVER_REPO}
cd server && ./build.py -v --backend python:r23.12 --backend tensorrt:r23.12
--backend ensemble --no-container-build --no-container-interactive --build-dir=pwd/build
--install-dir /opt/tritonserver
--enable-logging --enable-stats --enable-gpu
--enable-metrics --enable-cpu-metrics
--endpoint=grpc --endpoint=http &&
rm -rf build && cd ..

Expected behavior
Build should run successfully.

@buddhapuneeth
Copy link
Author

Actually seeing this error as well:

INFO:batscli.process.process_runner:stdout> {"entry": {"stream": "-- SHA256 hash of\n    /server/build/python/build/boost-src/src/boost_1_79_0.tar.gz\n  does not match expected value\n    expected: '273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c'\n      actual: '79e6d3f986444e5a80afbeccdaf2d1c1cf964baa8d766d20859d653a16c39848'\n-- Hash mismatch, removing...\n"},

coming from here:
https://github.com/triton-inference-server/python_backend/blob/main/CMakeLists.txt#L127

ExternalProject_Add(
boostorg
URL https://archives.boost.io/release/1.79.0/source/boost_1_79_0.tar.gz
URL_HASH SHA256=273f1be93238a068aba4f9735a4a2b003019af067b9c183ed227780b8f36062c
PREFIX "boost-src"
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E copy_directory
<SOURCE_DIR>/boost/ ${CMAKE_BINARY_DIR}/boost
INSTALL_COMMAND ""
BUILD_COMMAND ""
)

@buddhapuneeth
Copy link
Author

I manually did wget and verified - it is matching with the HASH in the CMake file.

@oandreeva-nv
Copy link
Contributor

Hi @buddhapuneeth , thanks for reaching out. We'll take a look at it.

@galv
Copy link

galv commented Jan 10, 2025

This may be relevant: https://www.boost.org/users/news/boost_has_moved_downloads_to_jfr.html

I reach the following webpage when I click on https://boostorg.jfrog.io/artifactory/main/release/:
image

@galv
Copy link

galv commented Jan 10, 2025

Okay, it looks like this was fixed in a newer version: #6775

I think your error might be because of the fact that you are pulling boost in python backend version 23.12, which does not have this fix from early 2024: https://github.com/triton-inference-server/python_backend/pull/334/files

If you specifically need 23.12, the problem is that you need to apply this change while still being able to build via the build.py script. If I am reading it correctly, you need to basically clone all of the relevant repos in https://github.com/triton-inference-server to your own repository (which can be private), make the change to branch r23.12 of the python backend within that org, and se the --github-organization flag in build.py to point to your new organization.

That sounds incredibly tedious, though. Perhaps a better way is simply to fork just the python backend in your own github organization, apply that patch to branch r23.12 on that fork, and then add an elif be == "python" right here:

server/build.py

Lines 2993 to 2994 in b84cc26

if be == "armnn_tflite":
github_organization = "https://gitlab.com/arm-research/smarter/"
in order to build correctly.

@galv
Copy link

galv commented Jan 10, 2025

Do the main triton inference server developers have any better suggestions?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants