So you are in that bad situation where you have a local version of protobuf, but your pkg-config doesn't know about it. Try overriding HAS_PKG_CONFIG to false:
make HAS_PKG_CONFIG=false this will force the detection to happen using invocation of the protoc tool instead of relying on pkg-config information. Cross compilation is difficult, especially in the situation of gRPC when you need to build local host tools such as the code plugins :) Most of the time, you need to be doing a really tailored build for the platform and the set of features you need and want. On Thursday, February 1, 2018 at 7:32:50 PM UTC-8, Matthew Bennett wrote: > > Hi, > > I am trying to build (and eventually cross compile) GRPC from source. I > can't find any good information on this anywhere so I am stuck just trying > to get it to build on my machine. > > I have c-ares, protobuf etc built on my machine and I want to use them for > supplying to GRPC. However I am getting the following error when running > make: > > host,grpc: Done (3) > host,grpc: Running Commands > host,grpc: Package libcares was not found in the pkg-config search path. > host,grpc: Perhaps you should add the directory containing `libcares.pc' > host,grpc: to the PKG_CONFIG_PATH environment variable > host,grpc: No package 'libcares' found > host,grpc: Package protobuf was not found in the pkg-config search path. > host,grpc: Perhaps you should add the directory containing `protobuf.pc' > host,grpc: to the PKG_CONFIG_PATH environment variable > host,grpc: No package 'protobuf' found > host,grpc: Package protobuf was not found in the pkg-config search path. > host,grpc: Perhaps you should add the directory containing `protobuf.pc' > host,grpc: to the PKG_CONFIG_PATH environment variable > host,grpc: No package 'protobuf' found > host,grpc: echo " HAS_PKG_CONFIG = true, HAS_SYSTEM_OPENSSL_NPN = true, > HAS_SYSTEM_ZLIB = true, HAS_SYSTEM_PROTOBUF = true, HAS_SYSTEM_CARES = > true," | tr , '\n' >cache.mk > host,grpc: > host,grpc: DEPENDENCY ERROR > host,grpc: > host,grpc: The target you are trying to run requires protobuf-compiler > 3.0.0+ > host,grpc: Your system doesn't have it, and neither does the third_party > directory. > host,grpc: > host,grpc: Please consult INSTALL to get more information. > host,grpc: > host,grpc: If you need information about why these tests failed, run: > host,grpc: > host,grpc: make run_dep_checks > host,grpc: > host,grpc: Additionally, since you are in a git clone, you can download the > host,grpc: missing dependencies in third_party by running the following > command: > host,grpc: > host,grpc: git submodule update --init > host,grpc: > host,grpc: Makefile:946: recipe for target 'stop' failed > host,grpc: make: *** [stop] Error 1 > Path: output/host/grpc/work/grpc > Arg[0] = 'make' > Arg[1] = > 'CFLAGS=-I/home/mattb/code/OpenFlowDev/buildsys/output/host/grpc/staging/local/usr/include > > -std=c99' > Arg[2] = > 'CXXFLAGS=-I/home/mattb/code/OpenFlowDev/buildsys/output/host/grpc/staging/local/usr/include > > -std=c++11' > Arg[3] = 'prefix=/local/usr' > Arg[4] = > 'PROTOC=/home/mattb/code/OpenFlowDev/buildsys/output/host/grpc/staging/local/usr/bin/protoc' > Arg[5] = 'HAS_SYSTEM_PROTOBUF=true' > Arg[6] = 'HAS_SYSTEM_CARES=true' > Arg[7] = > 'LDFLAGS=-L/home/mattb/code/OpenFlowDev/buildsys/output/host/grpc/staging/local/usr/lib' > Arg[8] = 'HAS_PKG_CONFIG=true' > Arg[9] = > 'PKG_CONFIG_PATH=/home/mattb/code/OpenFlowDev/buildsys/output/host/grpc/staging/local/usr/lib/pkgconfig/' > Arg[10] = 'V=1' > Arg[11] = 'Q=' > > > What am I supply as make arguments to get the script to use the packages > on my system? Why is it complaining about the protobuf-compiler as I can > clearly see: > > mattb@mattb-dl:/home/mattb/code/OpenFlowDev/buildsys/output/host/grpc/staging/local/usr/bin/protoc > > --version > libprotoc 3.5.0 > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/grpc-io. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/0ac6962a-d42d-46a8-a283-c817e3d0d207%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
