openembedded / meta-openembedded

MIT License
396 stars 688 forks source link

nativesdk-grpc build failed because protoc binary can't be find #759

Open lihing1994 opened 8 months ago

lihing1994 commented 8 months ago
kraj commented 8 months ago

Can you try with https://patchwork.yoctoproject.org/project/oe/patch/20231113084245.96832-1-samuli.piippo@qt.io/ applied ?

lihing1994 commented 8 months ago

I attempted to apply this commit, which I believe contains the same fix as the one you provided in the link. But I don't think it really works.

Here is the compile error log

| FAILED: gens/src/proto/grpc/channelz/channelz.grpc.pb.cc gens/src/proto/grpc/channelz/channelz.grpc.pb.h gens/src/proto/grpc/channelz/channelz_mock.grpc.pb.h gens/src/proto/grpc/channelz/channelz.pb.cc gens/src/proto/grpc/channelz/channelz.pb.h /build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/build/gens/src/proto/grpc/channelz/channelz.grpc.pb.cc /build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/build/gens/src/proto/grpc/channelz/channelz.grpc.pb.h /build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/build/gens/src/proto/grpc/channelz/channelz_mock.grpc.pb.h /build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/build/gens/src/proto/grpc/channelz/channelz.pb.cc /build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/build/gens/src/proto/grpc/channelz/channelz.pb.h
| cd /build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/build/protos && /build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/protoc --grpc_out=generate_mock_code=true:/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/build/gens --cpp_out=/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/build/gens --plugin=protoc-gen-grpc=/build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/recipe-sysroot-native/usr/bin/grpc_cpp_plugin -I . -I /build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/include src/proto/grpc/channelz/channelz.proto
| /bin/sh: 1: /build/tmp/work/x86_64-nativesdk-pokysdk-linux/nativesdk-grpc/1.50.1-r0/recipe-sysroot/usr/local/oe-sdk-hardcoded-buildpath/sysroots/x86_64-pokysdk-linux/usr/bin/protoc: not found
lihing1994 commented 8 months ago
AlexVRud commented 7 months ago

Main branch have patch https://github.com/openembedded/meta-openembedded/commit/54885a5af2da26d7c84f8aff6fc845c2681b2890

For Mickledore you can write grpc_1.50.1.bbappend:

# https://github.com/openembedded/meta-openembedded/commit/54885a5af2da26d7c84f8aff6fc845c2681b2890

EXTRA_OECMAKE = " \
    -DgRPC_CARES_PROVIDER=package \
    -DgRPC_ZLIB_PROVIDER=package \
    -DgRPC_SSL_PROVIDER=package \
    -DgRPC_PROTOBUF_PROVIDER=package \
    -D_gRPC_PROTOBUF_PROTOC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/protoc \
    -DgRPC_ABSL_PROVIDER=package \
    -DgRPC_RE2_PROVIDER=package \
    -DgRPC_INSTALL=ON \
    -DCMAKE_CROSSCOMPILING=ON \
    -DgRPC_INSTALL_LIBDIR=${baselib} \
    -DgRPC_INSTALL_CMAKEDIR=${baselib}/cmake/${BPN} \
    "