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.

Reply via email to