Eu tenho Ubuntu 16.04 e R 3.4.3. Quando eu corro
install.packages("geojson", dep=TRUE)
em R, recebo o seguinte erro:
a dependência 'protolite' não está disponível para o pacote 'geojson'
Portanto eu corro
install.packages("protolite", dep=TRUE)
ao qual recebo:
Configuration failed because protobuf was not found. Try installing:
* deb: libprotobuf-dev (Debian, Ubuntu, etc)
* rpm: protobuf-devel (Fedora, EPEL)
* csw: protobuf_dev (Solaris)
* brew: protobuf (OSX)
If protobuf is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a protobuf.pc file. If pkg-config
is unavailable you can set INCLUDE_DIR and LIB_DIR manually via:
R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'
No entanto, executando protoc --version
no terminal eu recebo
libprotoc 2.6.1
Parece que tenho a versão mais recente instalada. Eu também tentei copiar protobuf.pc
e /usr/lib/pkconfig/
configurar PKG_CONFIG_PATH
com
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
sem sucesso. Não sei como verificar se pkg-config
está no meu
PATH
, nem como seguir as últimas instruções do manual. Em particular, não sei para quais diretórios devo escrever INCLUDE_DIR=...
e LIB_DIR=...
.
Como devo proceder?
Responder1
Você pode instalar seus pacotes R com as seguintes ações
#1. add R 3.4.3 repository if not added before
cat <<EOF | sudo tee /etc/apt/sources.list.d/r-cran.list
deb https://cloud.r-project.org/bin/linux/ubuntu xenial/
EOF
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9
#2. add repository for libjq-dev
sudo add-apt-repository -y ppa:opencpu/jq
#3. update package lists
sudo apt-get update
#4. install R and dependencies
sudo apt-get install r-base-dev r-base-core libjq-dev libcurl4-openssl-dev \
libssl-dev libprotobuf-dev libjq-dev libv8-3.14-dev protobuf-compiler
#5. launch R and install geojson package:
R
> install.packages("geojson", dep=TRUE)
Responder2
Acabei de descobrir que meu /usr/bin/pkg-config
(versão 0.29.1 incluído no Ubuntu 18.04) tem muitos bugs. Ele não examina os diretórios mencionados em PKG_CONFIG_PATH (diretórios personalizados não foram vistos no debug spew). Tive que construir uma versão mais recente (0.29.2) a partir do código-fonte. Isso resolveu meu problema.
Espero que ajude alguém