0

I am following this guide to install gRPC using CMake. First, it is actually not usable from a CMake project without tweaking the CMake command according to this other post. So I did, the configuration part works. When I run make though, it fails like this

In file included from /mnt/c/Program Files/grpc/include/ares.h:22:0,
                 from /mnt/c/Users/j*****/sources/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc:23:
/mnt/c/Program Files/grpc/include/ares_build.h:26:12: fatal error: winsock2.h: No such file or directory
 #  include <winsock2.h>
            ^~~~~~~~~~~~
compilation terminated.
CMakeFiles/grpc.dir/build.make:4768: recipe for target 'CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc.o' failed
make[2]: *** [CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver.cc.o] Error 1
[ 85%] Building CXX object CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper_fallback.cc.o
make[2]: *** Waiting for unfinished jobs....
In file included from /mnt/c/Program Files/grpc/include/ares.h:22:0,
                 from /mnt/c/Users/j*****/sources/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc:23:
/mnt/c/Program Files/grpc/include/ares_build.h:26:12: fatal error: winsock2.h: No such file or directory
 #  include <winsock2.h>
            ^~~~~~~~~~~~
compilation terminated.
CMakeFiles/grpc.dir/build.make:4794: recipe for target 'CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc.o' failed
make[2]: *** [CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_ev_driver_posix.cc.o] Error 1
In file included from /mnt/c/Program Files/grpc/include/ares.h:22:0,
                 from /mnt/c/Users/j*****/sources/grpc/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc:29:
/mnt/c/Program Files/grpc/include/ares_build.h:26:12: fatal error: winsock2.h: No such file or directory
 #  include <winsock2.h>
            ^~~~~~~~~~~~
compilation terminated.
CMakeFiles/grpc.dir/build.make:4820: recipe for target 'CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc.o' failed
make[2]: *** [CMakeFiles/grpc.dir/src/core/ext/filters/client_channel/resolver/dns/c_ares/grpc_ares_wrapper.cc.o] Error 1
CMakeFiles/Makefile2:702: recipe for target 'CMakeFiles/grpc.dir/all' failed
make[1]: *** [CMakeFiles/grpc.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2

Am I supposed to install something that is not documented ?

Julien Debache
  • 319
  • 5
  • 13
  • The file `winsock2.h` is a Windows file, but you are trying to build GRPC for Linux? Are you sure CMake was run in a Linux environment, so that it was properly configured for Linux? – Kevin Jan 26 '20 at 15:19
  • @squareskittles I think the WSL is a Linux environment. I thought it was the whole point of it. Is there a way to forcibly tell CMake which environment it's in ? – Julien Debache Jan 26 '20 at 15:57

0 Answers0