apache / mxnet

Lightweight, Portable, Flexible Distributed/Mobile Deep Learning with Dynamic, Mutation-aware Dataflow Dep Scheduler; for Python, R, Julia, Scala, Go, Javascript and more
https://mxnet.apache.org
Apache License 2.0
20.75k stars 6.8k forks source link

protobuf version mismatch on CI #19622

Open leezu opened 3 years ago

leezu commented 3 years ago

[2020-12-02T23:35:43.300Z] [libprotobuf FATAL google/protobuf/stubs/common.cc:78] This program was compiled against version 2.6.1 of the Protocol Buffer runtime library, which is not compatible with the installed version (3.0.0). Contact the program author for an update. 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 "/io/onnx/.setuptools-cmake-build/onnx/onnx_ONNX_REL_1_7-ml.pb.cc".)

During compile: https://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/mxnet-validation%2Funix-cpu/detail/PR-17794/17/pipeline During test runtime: https://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/mxnet-validation%2Funix-gpu/detail/PR-17794/10/pipeline

Looks like https://github.com/apache/incubator-mxnet/pull/19588 fixes the issue. But other PRs modifying the Dockerfiles are affected.

leezu commented 3 years ago

The issue persists after the upgrade to 20.04

[2020-12-04T03:42:24.967Z] [libprotobuf FATAL google/protobuf/stubs/common.cc:79] This program was compiled against version 2.6.1 of the Protocol Buffer runtime library, which is not compatible with the installed version (3.6.1).  Contact the program author for an update.  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".)

[2020-12-04T03:42:24.967Z] terminate called after throwing an instance of 'google::protobuf::FatalException'

[2020-12-04T03:42:24.967Z]   what():  This program was compiled against version 2.6.1 of the Protocol Buffer runtime library, which is not compatible with the installed version (3.6.1).  Contact the program author for an update.  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".)

https://jenkins.mxnet-ci.amazon-ml.com/blue/organizations/jenkins/mxnet-validation%2Funix-cpu/detail/PR-17794/18/pipeline/

The question is why does onnx introduce a dependency on protobuf 2.6.1 and why only in such a flaky manner.