Open DmitriiGorelov opened 2 months ago
@ericsalo Can you take a look at if this is a possible issue in upb itself?
E0221 floating-point valu8e does not fit in required floating-point type
C:\dev\grpc\third_party\upb\upb\message\internal\message.c 20
E0059 function call is not allowed in a constant expression upb_message_lib C:\dev\grpc\third_party\upb\upb\message\internal\message.c 22
@DmitriiGorelov Can you confirm what version of protobuf you are using?
@DmitriiGorelov Can you confirm what version of protobuf you are using?
@zhangskz grcp v.1.64.2 checks out: Submodule path 'third_party/protobuf': checked out '2434ef2adf0c74149b9d547ac5fb545a1ff8b6b5'
I found following line in /third_party/protobuf/CMakeLists.txt : set(protobuf_VERSION_STRING "5.26.1")
Does it work to replace NAN
with 0.0 / 0.0
?
Hello @DmitriiGorelov Is the problem solved?
I will try it and share the results. @haberman
Does it work to replace
NAN
with0.0 / 0.0
?
content:
const float kUpb_FltInfinity = (float)(1.0 / 0.0);
const double kUpb_Infinity = 1.0 / 0.0;
const double kUpb_NaN = 0.0 / 0.0;
I take grpc v.1.65.0 and use same scripts to build it. It still pulls the same submodule protobuf: Submodule path 'third_party/protobuf': checked out '2434ef2adf0c74149b9d547ac5fb545a1ff8b6b5' and still shows the same error when compiles upb message.c file.
Does the upb submodule commit number have to be updated in protobuf repository?
At first I reported the issue in https://github.com/grpc/grpc/issues/37043, but got an answer that the problem belongs to protobuf dependency and was forwarded to this bug report page. To be precise, message.c in upb_message_lib does not compille due to errors described below. Please suggest the solution.
What version of gRPC and what language are you using?
What operating system (Linux, Windows,...) and version?
Windows 10
What runtime / compiler are you using (e.g. python version or version of gcc)
VC143
What did you do?
I try to build grpc from sources with the following commands:
What did you expect to see?
I expect to see successfull build with the output folder given in DCMAKE_INSTALL_PREFIX flag filled with bin, lib, include, shared folders of grpc.
What did you see instead?
compilation of upb_message_lib crashes with errors in message.c,
E0059 function call is not allowed in a constant expression upb_message_lib C:\dev\grpc\third_party\upb\upb\message\internal\message.c 22
though grpc build continues. But installation ends with an error message: