[triton-inference-server] new port - #53479
Conversation
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Jack·Boos·Yu (JackBoosY)
left a comment
There was a problem hiding this comment.
Please give us the reason when you resolve the review suggestions.
| POSITION_INDEPENDENT_CODE ON | ||
| ) | ||
|
|
||
| + add_library( |
There was a problem hiding this comment.
Again, why we need to create several static libraries?
There was a problem hiding this comment.
triton common’s three generated-code targets remain OBJECT libraries for upstream in-tree builds. Without installing their objects, CMake exports them as INTERFACE targets with no object paths, so installed Core/Server packages cannot link their protobuf/gRPC symbols. The three static wrappers package those existing objects separately because downstream uses each upstream target independently. This preserves upstream OBJECT-target behavior instead of converting them directly to STATIC.
There was a problem hiding this comment.
I don't understand, after generating the OBJECT libraries upstream, don't they link them into the normal dynamic/static libraries? Or does the upstream export these OBJECT libraries directly for users to use?
Do you mean these OBJECT libraries are for use by other libraries in the same repository?
There was a problem hiding this comment.
would you prefer to switch to installing the objects directly via OBJECTS DESTINATION?
There was a problem hiding this comment.
I don't understand, after generating the OBJECT libraries upstream, don't they link them into the normal dynamic/static libraries? Or does the upstream export these OBJECT libraries directly for users to use?
Do you mean these OBJECT libraries are for use by other libraries in the same repository?
Yes. The source repo's OBJECT libraries are internal components reused across Client, Core, and Server in one combined CMake build.
vcpkg builds those as separate packages, so the objects disappear at the package boundary. Our static wrappers preserve them for Core and Server.
There was a problem hiding this comment.
That make sense.
| triton-core-serverstub | ||
| PRIVATE | ||
| - -Wall -Wextra -Wno-unused-parameter -Werror | ||
| + -Wall -Wextra -Wno-unused-parameter |
There was a problem hiding this comment.
Also, why we need to remove -Werror here?
| target_compile_options( | ||
| simple | ||
| PRIVATE | ||
| - -Wall -Wextra -Wno-type-limits -Wno-unused-parameter -Wno-deprecated-declarations -Werror |
There was a problem hiding this comment.
If -Werror already has in the source, we can keep it.
Signed-off-by: Tim Paine <3105306+timkpaine@users.noreply.github.com>
Owner-Projectform.vcpkg.json, or explicitly disabled through patches or build system arguments such as CMAKE_DISABLE_FIND_PACKAGE_Xxx or VCPKG_LOCK_FIND_PACKAGEvcpkg.jsonmatches what upstream says.vcpkg.jsonmatches what upstream says../vcpkg x-add-version --alland committing the result.