【问题标题】:Problems installing Google Protocol Buffers R Package安装 Google Protocol Buffers R 包时出现问题
【发布时间】:2013-06-05 10:22:09
【问题描述】:

有没有人知道为什么会发生这种情况?我以 root 身份运行 R。这是版本:

版本 _
平台 x86_64-redhat-linux-gnu
拱 x86_64
操作系统 linux-gnu
系统 x86_64, linux-gnu
状态
专业 3
次要 0.1
2013 年
05月
第 16 天
svn 版本 62743
语言 R
version.string R 版本 3.0.1 (2013-05-16) 昵称 好运动

它似乎走得很远。无论我是从源代码还是从软件包安装软件包,我都会收到此错误:

> ** building package indices
** installing vignettes
   ‘RProtoBuf-intro.Rnw’ 
   ‘RProtoBuf-quickref.Rnw’ 
   ‘RProtoBuf-unitTests.Rnw’ 
** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/usr/lib64/R/library/RProtoBuf/libs/RProtoBuf.so':
  /usr/lib64/R/library/RProtoBuf/libs/RProtoBuf.so: undefined symbol: _ZN6google8protobuf2io18CopyingInputStream4SkipEi
Error: loading failed
Execution halted
ERROR: loading failed
*  removing ‘/usr/lib64/R/library/RProtoBuf’

【问题讨论】:

    标签: r protocol-buffers


    【解决方案1】:

    您安装了哪个版本的 Protocol Buffers 库?

    在 Ubuntu 上,使用默认版本的 Google Protocol Buffers(当前:2.4.1),它“正常工作”。该软件包仅检查 2.2.0 的最低版本。

    【讨论】:

    • 我在 CentOS 版本 6.4 (Final) 上运行。我已经安装了 protobuf-2.4.1,但我才意识到它不在 /usr/lib64 中……而是在 /usr/local/lib 中。它虽然在 LD_LIBRARY_PATH 上。似乎它正在寻找它正在构建的同一个库?
    • 您需要查看配置输出和实际的链接步骤(您没有显示)并尝试相应地修复。在配置运行期间,我们确实会询问 pkg-config --libs protobuf...
    • 您是否尝试将其添加到 .bashrc export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib 然后重新启动 R Studio?默认情况下,protobuf lib 将安装到 /usr/local。
    • 每一个非脑死系统在默认的ld.conf路径下都有/usr/local/lib,但可能sudo ldconfig需要运行刷新缓存...
    【解决方案2】:

    我有一个类似的问题,我按照配置 protobuf 库的说明解决了这个问题。

    ./configure --prefix=/usr

    https://github.com/google/protobuf:在“安装位置提示”下。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-02
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-21
      相关资源
      最近更新 更多