Libprotobuf issue


#1

Hi!
Sorry to bother you. I came accros a problem about protobuf, which cost me a lot of time to solve and failed.

  • Motivation
    import other DL models (using ONNX or TF) to tvm and sgx

  • Problem
    when using ONNX, it cames:

    [libprotobuf FATAL google/protobuf/stubs/common.cc:61] This program requires version 3.6.1 of the Protocol Buffer runtime library, but the installed version is 2.6.1. Please update your library. If you compiled the program yourself, make sure that your headers are from the same version of Protocol Buffers as your link-time library. (Version verification failed in “google/protobuf/descriptor.pb.cc”.)

    • ONNX needs python-protobuf 3.6.1 version ( I tried installing python-version-2.6.1 to keep the python version consistent with .so version , but python-version-2.6.1 didn’t work with python3 and error occurred )
    • I noticed libnnvm_compiler.so, libtvm_runtime.so, libtvm.so, libtvm_topi.so all need the libprotobuf.so.9, which is version 2.6.1
    • And I want to use sgx, which needs Intel’s sgxsdk and Baidu’s rust-sgxsdk.
      • libsgx_urts.so and libsgx_uae_service.so both need libprotobuf.so.9
      • Baidu’s sdk also needs libprotobuf.so.9, according to this link
  • Attempts

    • I uninstalled protobuf-2.6.1 on my machine and tried installing protobuf-3.6.1 from protobuf github repo, and same error occurred.
    • I tried the 2.6.1 and 3.6.1 version both existing on my machine, and made the protoc command version is 3.6.1, and same error occurred

I don’t konw how to solve it.
Thanks!!


#2

Have you tried pip show protobuf and see what is the version of it?


#3

Thanks for your reply!
The python version is 3.6.1, and as above said, I tried installing 2.6.1, but it didn’t work with python3 and error occurred.

Name: protobuf
Version: 3.6.1
Summary: Protocol Buffers
Home-page: https://developers.google.com/protocol-buffers/
Author: None
Author-email: None
License: 3-Clause BSD License
Location: /home/juxing/.local/lib/python3.5/site-packages
Requires: setuptools, six
Required-by: tensorflow, tensorboard, onnx


#4

seems that you have installed in the local dir and system libprobuf is 3.6. Try to pip uninstall protobufand pip install protobuf==2.6.1 —user