-
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
Fixed shared windows builds of test targets #1445
base: master
Are you sure you want to change the base?
Conversation
How was this tested? It doesn't appear to work.
I'm guessing it is a simple fix to add |
There's your answer. 😅 I didn't build with (the equivalent of) Without this PR. compilation fails hard. So we can say the patches here are necessary but not sufficient. |
Adding
Further adding
The second warning is actually interesting here because it talks about a struct, whereas the definition is:
I presume the |
I have a different fix for this that I am testing. It involves not exposing some things in headers to avoid the need for |
That's great news, thanks a lot! Could you let us know here once that happens please? :) |
This is a heavily modified version of #1445, which adds some missing test libraries to the test DLL. Unlike #1445, this change moves several global variables out of headers that did not need to be in headers. For instance, cord_btree_exhaustive_validation was a global defined/declared in cord_internal, but only used in cord_rep_btree and its test. cordz_handle defined a queue in its header even though it wasn't needed, which also led to ODR problems. The Spinlock used in CordzHandle is replaced with a Mutex. This was originally a Mutex, but Chromium asked us to change it to a Spinlock to avoid a static initializer. After this change, the static initializer is no longer an issue. #1407 PiperOrigin-RevId: 531516991 Change-Id: I0e431a193698b20ba03fac6e414c26f153f330a7
Please give 3aa3377 a try. I think either fixes your issue or gets us closer to a fix. It's possible some some |
Thanks! Giving this a shot in conda-forge/abseil-cpp-feedstock#60. |
Back to failing with the missing vftable, which I had been battling in conda-forge/abseil-cpp-feedstock#58 as well, and which ended up being "solved" by adding
|
I pulled in #1115 with the missing |
Thanks! The build based on your commit did already include (the equivalent of) #1115, so I'm pretty sure it's still not working properly. Though I admit I don't understand what might be the pertinent differences between our respective build setups. |
This is a heavily modified version of abseil#1445, which adds some missing test libraries to the test DLL. Unlike abseil#1445, this change moves several global variables out of headers that did not need to be in headers. For instance, cord_btree_exhaustive_validation was a global defined/declared in cord_internal, but only used in cord_rep_btree and its test. cordz_handle defined a queue in its header even though it wasn't needed, which also led to ODR problems. The Spinlock used in CordzHandle is replaced with a Mutex. This was originally a Mutex, but Chromium asked us to change it to a Spinlock to avoid a static initializer. After this change, the static initializer is no longer an issue. abseil#1407 PiperOrigin-RevId: 531516991 Change-Id: I0e431a193698b20ba03fac6e414c26f153f330a7
Regarding #1407