Open avdv opened 4 months ago
This looks like -ldbghelp
linker option is missing which is needed by abseil for its symbolizer.
\edit: Yes, adding -ldbghelp
to the linkopts fixes the undefined symbol errors for SymSetOptions
and SymInitialize
.
But the __start_pb_defaults
and __stop_pb_defaults
symbols remain undefined. These are declared in src/google/protobuf/generated_messages.cc
but only if PROTOBUF_DESCRIPTOR_WEAK_MESSAGES_ALLOWED
is defined.
Is the __start
/ __stop
mechanism supported on Windows with PE/COFF?
We triage inactive PRs and issues in order to make it easier to find active work. If this issue should remain active or becomes active again, please add a comment.
This issue is labeled inactive
because the last activity was over 90 days ago. This issue will be closed and archived after 14 additional days without activity.
This is still a problem, it also happens with version 28.0.
It seems the preprocessor checks we have are not taking into account this particular combination of clang+windows properly. Would you be able to test a fix? I can't test on that configuration.
The proposed fix would be to modify PROTOBUF_DESCRIPTOR_WEAK_MESSAGES_ALLOWED
in port_def.inc
to add
&& !defined(_WIN32)
to the predicate.
It seems the preprocessor checks we have are not taking into account this particular combination of clang+windows properly. Would you be able to test a fix? I can't test on that configuration.
The proposed fix would be to modify
PROTOBUF_DESCRIPTOR_WEAK_MESSAGES_ALLOWED
inport_def.inc
to add&& !defined(_WIN32)
to the predicate.
Ha! You mean like this :smirk_cat: ? https://github.com/tweag/rules_haskell/commit/5cd62705c51add73745550ce3b318fc7f29f099f#diff-65d611c8fe5c0eb76570cf39b77fc50a823a26f2755f64d0011cf980f59787b6R18-R25
That works indeed.
What version of protobuf and what language are you using? Version: 26.1 / 27.0 Language: C++
What operating system (Linux, Windows, ...) and version?
Windows Server 2022 10.0.20348
What runtime / compiler are you using (e.g., python version or gcc version)
clang version 14.0.6 Target: x86_64-w64-windows-gnu Thread model: posix
What did you do? Steps to reproduce the behavior:
I am using Bazel (version 6.5.0) either using a workspace file or using a module (module version
26.0.bcr.1
) and trying to build@com_google_protobuf//:protoc
or@protobuf~26.0.bcr.1//:protoc
respectively.What did you expect to see
The build should succeed.
What did you see instead?
Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
Anything else we should know about your project / environment