-
Notifications
You must be signed in to change notification settings - Fork 2.6k
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
[Bug]: CMakeLists.txt forces full rebuild on every install #1769
Comments
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
An internal contributor has a pending fix for this issue. Hopefully it will be submitted by Monday. |
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
nicolasnoble
added a commit
to nicolasnoble/triton-third_party
that referenced
this issue
Oct 11, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
I can confirm the following patch fixes the issue for me: |
nicolasnoble
added a commit
to triton-inference-server/third_party
that referenced
this issue
Oct 14, 2024
Until abseil integrates this fix upstream, grpc picks up the new version of abseil with the fix, and until triton upgrades the grpc dependency, this will alleviate the repeated build issues in the meantime.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Describe the issue
In its current state, the CMakeLists.txt of abseil inconditionally bypasses CMake's target longevity rules, and rewrites the file
options.h
every time CMake's consider theinstall
rule during a build. This means this file gets touched on the filesystem inconditionally, forcing a rebuild of all of the descending targets which directly or indirectly depend on this file.In practice, this means when a dependent is opting in to install abseil during its build, it effectively nullifies the caching mechanism of CMake, and forces a full rebuild of heavy hitter dependencies, such as gRPC, during CI testing for instance, but also when developers are iterating changes on their code.
Context:
abseil-cpp/CMakeLists.txt
Lines 216 to 255 in 4447c75
Steps to reproduce the problem
This repository for instance is affected by this problem:
Use
make -d -C triton-client-build
to observe the following chosen extracts from the log:What version of Abseil are you using?
This happens at HEAD, and ever since this change has been introduced, on Sep 6, 2022, in 308bbf3
What operating system and version are you using?
Irrelevant for this problem, as it is CMake-related.
What compiler and version are you using?
Irrelevant for this problem, as it is CMake-related.
What build system are you using?
Any version of CMake is affected.
Additional context
As the change has been introduced, it has been slowly creeping up around the world's dependencies, and has since contributed to a significant CPU usage spike in CI jobs, and consumed an immense amount of developer-hours who are now waiting longer for their build while iterating on code. The effective dollar impact of the bug is difficult to properly estimate, but is definitely very large.
The text was updated successfully, but these errors were encountered: