我正在使用R-version 3.4.2开发Ubuntu 16.04。
我想安装R-Package" protolite" (更确切地说,我想安装" tmap"其中protolite是先决条件)。我安装了libprotocol版本2.6.1:
$ protoc --version
返回libprotoc 2.6.1。
当我输入install.packages" protolite" ,R给了我警告:
Package protobuf was not found in the pkg-config search path.
Perhaps you should add the directory containing 'protobuf.pc'
to the PKG_CONFIG_PATH environment variable
No package 'protobuf' found
稍后安装失败并显示
/usr/bin/ld: cannot find -lprotobuf
collect2: error: ld returned 1 exit status
由于安装了libprotocoll,我通过
搜索了pc文件apt-file search protobuf.pc
返回
libprotobuf-dev: /usr/lib/x86_64-linux-gnu/pkgconfig/protobuf.pc
所以我添加了
export PKG_CONFIG_PATH=/usr/lib/x86_64-linux-gnu/pkgconfig
但是,这并没有解决问题。有人可以帮帮我吗?
注意:我花了好几个小时试图安装" tmap"到现在为止,我的问题是我已经安装了libprotocol 3.2,我必须删除它才能安装tmap / protolite,因为安装需要libprotocol 2.6.1。也许这个删除/新安装在我的计算机上带来了一些无序的东西。
答案 0 :(得分:1)
对于有同样问题的人。我查看了Synaptic Package管理器,发现并非所有libprotobuf版本都已安装。事实上,只安装了一个精简版。安装所有“libprotobuf-dev 2.6.1-1.3使它工作。
答案 1 :(得分:1)
使用
sudo apt-get install -y libprotobuf-dev protobuf-compiler
为我工作。