server
server copied to clipboard
[client c++] Could not find a package configuration file provided by "RapidJSON"
Description
Could not find a package configuration file provided by "RapidJSON" with
any of the following names:
RapidJSONConfig.cmake
rapidjson-config.cmake
Add the installation prefix of "RapidJSON" to CMAKE_PREFIX_PATH or set
"RapidJSON_DIR" to a directory containing one of the above files. If
"RapidJSON" provides a separate development package or SDK, be sure it has
been installed.
Triton Information trying to build client branch r22.01 (only c++ api is needed, thus excluding python and java from the suggested args)
To Reproduce Platform: CentOS 7.9.2009, cmake 3.21.1, GNU Make 3.82, icc (ICC) 2021.5.0 20211109
git clone -b r22.01 https://github.com/triton-inference-server/client
mkdir -p client/build && cd client/build
cmake -DCMAKE_INSTALL_PREFIX=`pwd`/install -DTRITON_ENABLE_CC_HTTP=ON -DTRITON_ENABLE_CC_GRPC=ON -DTRITON_ENABLE_PERF_ANALYZER=ON -DTRITON_ENABLE_GPU=ON -DTRITON_ENABLE_EXAMPLES=ON -DTRITON_ENABLE_TESTS=ON -DTRITON_COMMON_REPO_TAG=r22.01 -DTRITON_THIRD_PARTY_REPO_TAG=r22.01 -DTRITON_CORE_REPO_TAG=r22.01 -DTRITON_BACKEND_REPO_TAG=r22.01 ..
make cc-clients
Expected behavior build succeeds
You must install the associated dependencies on the system first. rapidjson in this case. https://github.com/triton-inference-server/server/blob/main/Dockerfile.sdk#L67 You might have to install other dependencies as well. Use the dockerfile.sdk above as a reference.
Please re-open if you have any other questions or issues.
Thanks for the quick reply.
Why are the requirements not documented at the README of https://github.com/triton-inference-server/client? Please treat this issue as ticket for adding this.
Running above steps will automatically clone and build over a dozen 3P deps, including all kind of protobuf, grpc and at least 2 json libs (json and nlohmann-json). Why is RapidJSON not included in this?
Please re-open if you have any other questions or issues.
fyi I can't:
- you can re-open your own issues if you closed them yourself
- you cannot close or re-open issues opened by someone else
- you cannot re-open your own issues if a repo collaborator closed them
We have the cleaning up of the client build in our roadmap.
fyi I can't:
you can re-open your own issues if you closed them yourself you cannot close or re-open issues opened by someone else you cannot re-open your own issues if a repo collaborator closed them
Thanks for letting me know. Let me review the policy with team.
Since I don't have access rights to install rapidjson system wide, I have downloaded it and "built" it from source (i.e. generated RapidJSONConf.cmake). CMake can now find it and even sets the appropriate path as printed by message(STATUS "RapidJSON found. Headers: ${RAPIDJSON_INCLUDE_DIRS}"). However, while compiling several files (http_client.cc:45, torchserve_client_backend.cc:27 recursively includes perf_utils.h:28:10, etc...) it complains about not being able to find the included header rapidjson/document.h which is definitely present in above include path. A verbose compile call using VERBOSE=1 make cc-clients prints the g++ (i switched from intel to gcc based on another error) call generated form the build system, which does not explicitly include the rapidjson headers contrary to my expectations.
This appears to be a further defect in your build system?
You might have to use target_include_directories to include ${RAPIDJSON_INCLUDE_DIRS}" when building cc-clients target. Cmake does not include the headers directly. Feel free to open a PR with your changes, contributions from the community are highly appreciated.
Isn't this what is done here already? https://github.com/triton-inference-server/client/blob/fe6ccbb00e57ce91e284bc5540b29e8929670f06/src/c%2B%2B/library/CMakeLists.txt#L55
Isn't this what is done here already? https://github.com/triton-inference-server/client/blob/fe6ccbb00e57ce91e284bc5540b29e8929670f06/src/c%2B%2B/library/CMakeLists.txt#L55
Hi, I'm facing the same issue. Have you solve it?
Nope sorry, I was not able to track down the issue within my time constraints and ended up not using triton.
Closing issue due to lack of activity. Please re-open the issue if you would like to follow up with this issue
install RapidJSON https://blog.csdn.net/lj19940110/article/details/101012837
sudo apt install rapidjson-dev
Works for me (ubuntu 22.04)
tritonserver_buildbase might be a good env to build client.
Does that have cmake in it? I tried sagemaker-tritonserver:23.<XY>-py3-sdk and it didn't. But I'm using Ubuntu 22.04 so once I managed to follow the instructions properly it worked fine without docker
Does that have cmake in it? I tried
sagemaker-tritonserver:23.<XY>-py3-sdkand it didn't. But I'm using Ubuntu 22.04 so once I managed to follow the instructions properly it worked fine without docker
Yes, tritonserver_buildbase is built along with the tritonserver image.
❯ docker run -it -v $PWD:/ws tritonserver_buildbase bash
root@7572e3b554f9:/workspace# cmake --version
cmake version 3.27.3
CMake suite maintained and supported by Kitware (kitware.com/cmake).
Same issue, but with building the server from source for a CPU-only container-less build. It's rather strange that tritonserver fetches and compiles a dozen of 3rd party libraries, but doesn't do the same for rapidjson