OpenCV导入错误(libopencv_dnn.so.3.4未定义符号)

3

系统信息:

Ubuntu 16.04, Anaconda 1.6.9, Python 3.6.4, libopencv 3.4.1, opencv 3.4.1, py-opencv 3.4.1.

问题定义:我刚刚通过anaconda升级了opencv3.4版本,但发现无法导入。
导入错误如下:

ImportError:anaconda3/lib/python3.6/site-packages/../../libopencv_dnn.so.3.4: undefined symbol: _ZNK6google8protobuf7Message25InitializationErrorStringB5cxx11Ev

2个回答

4

以下解决方案对我有效,但不确定原因和如何解决。

  1. conda install -c defaults libprotobuf protobuf
  2. conda install -c menpo opencv3

注:以上内容为涉及IT技术的安装步骤。

似乎在这里也可以工作 https://github.com/ContinuumIO/anaconda-issues/issues/9601 - Benedict K.

0

你尝试过GitHub上的这个答案吗:

  1. 按照建议配置/usr/local/cuda/include/host_config.h。 (从CUDA头文件host_config.h中删除gcc 5错误)
  2. sudo apt-get autoremove libprotobuf-dev protobuf-compiler
  3. 然后从src编译并安装protobuf-2.5.0。请在编译protobuf时配置gcc:./configure --prefix=/usr/local/ CC=/usr/bin/gcc

此外(GitHub用户groakat提到):

对我来说,这个问题是因为我在anaconda中安装了protobuf引起的。如果你在anaconda环境中安装了protobuf,你必须手动删除所有文件,因为conda uninstall protobuf不会删除所有库文件。


谢谢您的回复。但是看起来我没有路径/usr/local/cuda/include/host_config.h,但是我已经在Anaconda上安装了cudatoolkit,这很奇怪。 - Tengerye
我也不明白为什么错误涉及到了caffe。 - Tengerye

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接