-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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]: Missing constructor for absl::synchronization_internal::KernelTimeout
in shared builds
#1630
Comments
Does the patch proposed in #1624 (comment) fix the problem? That would be a hint that this is actually the same issue as #1624. |
We ran into this problem with the patched abseil. There are three possibilities as far as I can see:
I still think that it's very closely related, because of the way how constructors/destructors are (apparently) missing in the shared library. However, it is not the same in the sense that the tensorflow builds do set |
@derekmauro, what do you think about the situation here now? I get that you'd like constructurs/destructors to be inlined as much as possible, but given that |
I haven't had time to look into this, sorry. |
Yeah, it's OK. I managed to dig a bit more and found it's an interaction between bazel/tensorflow and their vendored abseil. I'll close this, as there's nothing to do for abseil AFAICT. |
Describe the issue
While building tensorflow with new abseil 20240116.1, we ran into the following issue:
While it's clear where this symbol lives, we cannot link to
absl/synchronization:kernel_timeout_internal
, because it has private visibility.However, after realizing tensorflow never explicitly uses
KernelTimeout
in its codebase, I decided to look back at abseil, and I think this is a similar situation to #1624, because AFAICT it concernsabsl::Mutex
and inlining (1cf6469).In particular, in a shared build, some methods have to construct a
synchronization_internal::KernelTimeout
, e.g.abseil-cpp/absl/synchronization/mutex.h
Lines 375 to 381 in 2f9e432
Since that constructor cannot be found (due to visibility), we fail.
Steps to reproduce the problem
Build tensorflow against abseil 20240116.1
What version of Abseil are you using?
20240116.1
What operating system and version are you using?
Linux
What compiler and version are you using?
GCC 12, nvcc 12.0
What build system are you using?
bazel
Additional context
No response
The text was updated successfully, but these errors were encountered: