Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] Failed to build against system protobuf??? #13412

Closed
jiapei100 opened this issue Oct 10, 2022 · 5 comments
Closed

[Bug] Failed to build against system protobuf??? #13412

jiapei100 opened this issue Oct 10, 2022 · 5 comments
Assignees
Labels
category: build OpenVINO cmake script / infra support_request

Comments

@jiapei100
Copy link

jiapei100 commented Oct 10, 2022

System information (version)
  • OpenVINO => 2022.2.0
  • Operating System / Platform => Raspbian GNU/Linux 11 (bullseye)
  • Compiler => gcc (Raspbian 10.2.1-6+rpi1) 10.2.1 20210110
  • Problem classification => Failed to build
Detailed description

Failed to build OpenVINO with system protobuf.

[ 88%] Linking CXX shared library ../../../../../bin/armv7l/Release/libopenvino_onnx_frontend.so
cd ....../openvino/build/src/frontends/onnx/frontend && /usr/bin/cmake -E cmake_link_script CMakeFiles/openvino_onnx_frontend.dir/link.txt --verbose=1
/usr/bin/c++ -fPIC -Wsuggest-override  -fsigned-char -ffunction-sections -fdata-sections -fdiagnostics-show-option -Wundef -Wreturn-type -Wunused-variable -Wuninitialized -Winit-self -Wmaybe-uninitialized -O3 -DNDEBUG  -Wformat -Wformat-security -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fno-delete-null-pointer-checks -fwrapv -fstack-protector-strong -s -Wno-error=maybe-uninitialized -Wno-maybe-uninitialized  -Wl,--gc-sections -Wl,--exclude-libs,ALL   -z noexecstack -z relro -z now -shared -Wl,-soname,libopenvino_onnx_frontend.so.2230 -o ../../../../../bin/armv7l/Release/libopenvino_onnx_frontend.so.2022.3.0 CMakeFiles/openvino_onnx_frontend.dir/src/core/attribute.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/core/graph.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/core/graph_cache.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/core/model.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/core/node.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/core/null_node.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/core/tensor.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/core/transform.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/detail/subgraph_extraction.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/edge_mapper.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/editor.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/exceptions.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/frontend.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/input_model.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/node_context.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/onnx.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/onnx_framework_node.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/add.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/affine.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/argmax.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/argmin.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/aten.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/average_pool.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/batch_norm.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/bitshift.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/cast.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/cast_like.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/clip.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/com.microsoft/attention.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/com.microsoft/bias_gelu.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/com.microsoft/embed_layer_normalization.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/com.microsoft/fusedgemm.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/com.microsoft/skip_layer_normalization.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/compress.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/concat.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/constant.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/constant_fill.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/constant_of_shape.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/conv.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/conv_integer.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/conv_transpose.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/cos.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/cosh.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/crop.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/cum_sum.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/depth_to_space.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/dequantize_linear.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/dropout.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/dynamic_quantize_linear.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/einsum.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/elu.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/expand.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/eye_like.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/flatten.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/gather_nd.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/gemm.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/global_average_pool.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/global_max_pool.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/grid_sample.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/gru.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/hard_sigmoid.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/hardmax.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/if.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/image_scaler.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/instance_norm.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/leaky_relu.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/log.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/log_softmax.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/loop.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/lp_norm.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/lp_pool.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/lrn.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/lstm.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/matmul_integer.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/max_pool.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/mean.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/mean_variance_normalization.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/mod.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/non_max_suppression.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/non_zero.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/onehot.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/deformable_conv_2d.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/detection_output.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/experimental_detectron/detection_output.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/experimental_detectron/generate_proposals_single_image.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/experimental_detectron/prior_grid_generator.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/experimental_detectron/roi_feature_extractor.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/experimental_detectron/topk_rios.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/fake_quantize.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/generate_proposals.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/group_norm.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/normalize.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/prior_box.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/org.openvinotoolkit/swish.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/pad.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/pow.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/prelu.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/qlinear_conv.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/qlinear_matmul.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/quant_conv.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/quantize_linear.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/random_normal.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/random_normal_like.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/random_uniform.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/random_uniform_like.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/range.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/reciprocal.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/reduce.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/reshape.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/resize.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/reverse_sequence.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/rnn.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/roi_align.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/round.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/scan.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/scatter_elements.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/scatter_nd.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/selu.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/shape.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/shrink.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/size.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/slice.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/softmax.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/softplus.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/softsign.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/space_to_depth.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/split.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/squeeze.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/thresholded_relu.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/tile.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/topk.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/transpose.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/trilu.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/unsqueeze.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/op/upsample.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/ops_bridge.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/place.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/utils/arg_min_max_factory.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/utils/common.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/utils/conv_factory.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/utils/convpool.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/utils/onnx_internal.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/utils/pooling_factory.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/utils/random_normal.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/utils/recurrent.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/utils/reshape.cpp.o CMakeFiles/openvino_onnx_frontend.dir/src/utils/tensor_external_data.cpp.o  -Wl,-rpath,....../openvino/bin/armv7l/Release: ../../../../../bin/armv7l/Release/libngraph_builders.a ../../../../../bin/armv7l/Release/libutil.a ../../../../../bin/armv7l/Release/libonnx_common.a ../../../../../bin/armv7l/Release/libonnx.a ../../../../../bin/armv7l/Release/libonnx_proto.a /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a ../../../../../bin/armv7l/Release/libopenvino.so.2022.3.0 ../../../../../bin/armv7l/Release/libitt.a ../../../../../bin/armv7l/Release/libutil.a -ldl /usr/lib/arm-linux-gnueabihf/libtbb.so.2 -pthread 
/usr/bin/ld: /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o)(.text+0x75c): R_ARM_TLS_LE32 relocation not permitted in shared object
/usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o): in function `google::protobuf::internal::ThreadSafeArena::ThreadSafeArena()':
arena.cc:(.text+0x75c): dangerous relocation: unsupported relocation
/usr/bin/ld: /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o)(.text+0x7e8): R_ARM_TLS_LE32 relocation not permitted in shared object
/usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o): in function `google::protobuf::internal::ThreadSafeArena::ThreadSafeArena(google::protobuf::internal::MessageOwned)':
arena.cc:(.text+0x7e8): dangerous relocation: unsupported relocation
/usr/bin/ld: /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o)(.text+0x98c): R_ARM_TLS_LE32 relocation not permitted in shared object
/usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o): in function `google::protobuf::internal::ThreadSafeArena::GetNextLifeCycleId()':
arena.cc:(.text+0x98c): dangerous relocation: unsupported relocation
/usr/bin/ld: /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o)(.text+0xc3c): R_ARM_TLS_LE32 relocation not permitted in shared object
/usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o): in function `google::protobuf::internal::ThreadSafeArena::Init()':
arena.cc:(.text+0xc3c): dangerous relocation: unsupported relocation
/usr/bin/ld: /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o)(.text+0x161c): R_ARM_TLS_LE32 relocation not permitted in shared object
/usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o): in function `google::protobuf::internal::ThreadSafeArena::GetSerialArenaFallback()':
arena.cc:(.text+0x161c): dangerous relocation: unsupported relocation
/usr/bin/ld: /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o)(.text+0x16d8): R_ARM_TLS_LE32 relocation not permitted in shared object
/usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o): in function `google::protobuf::internal::ThreadSafeArena::AddCleanup(void*, void (*)(void*))':
arena.cc:(.text+0x16d8): dangerous relocation: unsupported relocation
/usr/bin/ld: /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o)(.text+0x1890): R_ARM_TLS_LE32 relocation not permitted in shared object
/usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o): in function `google::protobuf::internal::ThreadSafeArena::AllocateAlignedWithCleanup(unsigned int, unsigned int, void (*)(void*))':
arena.cc:(.text+0x1890): dangerous relocation: unsupported relocation
/usr/bin/ld: /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o)(.text+0x1904): R_ARM_TLS_LE32 relocation not permitted in shared object
/usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o): in function `google::protobuf::Arena::Allocate(unsigned int)':
arena.cc:(.text+0x1904): dangerous relocation: unsupported relocation
/usr/bin/ld: /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o)(.text+0x19bc): R_ARM_TLS_LE32 relocation not permitted in shared object
/usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o): in function `google::protobuf::Arena::AllocateForArray(unsigned int)':
arena.cc:(.text+0x19bc): dangerous relocation: unsupported relocation
/usr/bin/ld: /usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o)(.text+0x1ab8): R_ARM_TLS_LE32 relocation not permitted in shared object
/usr/local/lib/arm-linux-gnueabihf/libprotobuf-lite.a(arena.cc.o): in function `google::protobuf::Arena::AllocateAlignedWithCleanup(unsigned int, unsigned int, void (*)(void*))':
arena.cc:(.text+0x1ab8): dangerous relocation: unsupported relocation
collect2: error: ld returned 1 exit status
make[2]: *** [src/frontends/onnx/frontend/CMakeFiles/openvino_onnx_frontend.dir/build.make:2306: ../bin/armv7l/Release/libopenvino_onnx_frontend.so.2022.3.0] Error 1
make[2]: Leaving directory '....../openvino/build'
make[1]: *** [CMakeFiles/Makefile2:4120: src/frontends/onnx/frontend/CMakeFiles/openvino_onnx_frontend.dir/all] Error 2
make[1]: Leaving directory '....../openvino/build'
make: *** [Makefile:185: all] Error 2
@jiapei100 jiapei100 added bug Something isn't working support_request labels Oct 10, 2022
@avitial avitial added category: build OpenVINO cmake script / infra and removed bug Something isn't working labels Oct 11, 2022
@Iffa-Intel
Copy link

Iffa-Intel commented Oct 11, 2022

@jiapei100 could you provide the details of the installation steps and the commands you used?

@ilya-lavrenov
Copy link
Contributor

@jiapei100 the system protobuf must be compiled with -fPIC, see protocolbuffers/protobuf#1919

@jiapei100
Copy link
Author

@ilya-lavrenov
Great... I'm rebulding protobuf.
Oh, BTW, I happened to realize: I can ONLY successfully build static library, BUT failed to build dynamic library.

@ilya-lavrenov
Copy link
Contributor

@ilya-lavrenov
Great... I'm rebulding protobuf.
Oh, BTW, I happened to realize: I can ONLY successfully build static library, BUT failed to build dynamic library.

FPIC is required to build dynamic libraries, for static ones it's not required

@Iffa-Intel
Copy link

Closing issue, feel free to re-open or start a new issue if additional assistance is needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: build OpenVINO cmake script / infra support_request
Projects
None yet
Development

No branches or pull requests

5 participants