У меня Ubuntu 16.04 и R 3.4.3. Когда я запускаю
install.packages("geojson", dep=TRUE)
в R я получаю следующую ошибку:
зависимость «protolite» недоступна для пакета «geojson»
Поэтому я бегу
install.packages("protolite", dep=TRUE)
на что я получаю:
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=...'
Однако, запустив protoc --version
терминал, я получаю
libprotoc 2.6.1
Так что, похоже, у меня установлена последняя версия. Я также пробовал копировать protobuf.pc
и /usr/lib/pkconfig/
устанавливать PKG_CONFIG_PATH
с помощью
export PKG_CONFIG_PATH=/usr/lib/pkgconfig
безуспешно. Я не знаю, как проверить, pkg-config
находится ли в моем
PATH
, и как следовать последним инструкциям руководства. В частности, я не знаю, для каких каталогов мне следует писать INCLUDE_DIR=...
и LIB_DIR=...
.
Как мне действовать?
решение1
Вы можете установить свои пакеты R, выполнив следующие действия:
#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)
решение2
Я только что обнаружил, что моя /usr/bin/pkg-config
(версия 0.29.1 в комплекте с Ubuntu 18.04) очень глючная. Она не смотрит в каталоги, указанные в PKG_CONFIG_PATH (пользовательские каталоги не были видны в отладочном потоке). Мне пришлось собрать более новую версию (0.29.2) из исходников. Это решило мою проблему.
Надеюсь, это кому-то поможет.