У меня проблема с установкой пакета mongolite
R на FreeBSD. Похоже, это связано с тем, что FreeBSD вообще не хранит файл openssl.pc
. Итак, мой вопрос: как решить эту проблему, чтобы установить пакет mongolite
?
Я установил openssl
через его официальный порт FreeBSD:
cd /usr/ports/security/openssl && make install config-recursive distclean
Однако, как я уже сказал , файл openssl.pc
не может быть найден нигде в системе.
Если это важно, я работаю в тюрьме.
Кажется, что PKG_CONFIG_PATH
определен и указывает на каталог, в котором действительно присутствует openssl.pc
.
pkg-config --variable pc_path pkg-config
# results
/usr/local/libdata/pkgconfig:/usr/libdata/pkgconfig
И есть файл /usr/local/libdata/pkgconfig/openssl.pc
. Следовательно, вроде бы все было на своих местах, но, видимо, все еще что-то не так, и я не могу понять, что именно.
Ниже приведен полный журнал установки:
* installing *source* package ‘mongolite’ ...
** package ‘mongolite’ successfully unpacked and MD5 sums checked
Found pkg-config cflags and libs!
Using PKG_CFLAGS=-I/usr/local/include
Using PKG_LIBS=-lsasl2 -L/usr/local/lib -lssl -lcrypto
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because openssl/sasl was not found. Try installing:
* deb: libssl-dev, libsasl2-dev (Debian, Ubuntu, etc)
* rpm: openssl-devel, cyrus-sasl-devel (Fedora, CentOS, RHEL)
* csw: libssl_dev, sasl_dev (Solaris)
* brew: openssl (Mac OSX)
If openssl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a openssl.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=...'
--------------------------------------------------------------------
ERROR: configuration failed for package ‘mongolite’
* removing ‘/usr/local/lib/R/library/mongolite’
The downloaded source packages are in
‘/tmp/RtmpJosV0D/downloaded_packages’
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("mongolite") :
installation of package ‘mongolite’ had non-zero exit status
Когда вы используете openssl из портов, вам нужно убедиться, что все ваши сборки используют его. Это можно сделать, введя в /etc/make.conf DEFAULT_VERSIONS+=ssl=openssl
. Тогда все ваши сборки будут использовать openssl из портов. Вам нужно будет восстановить монголит.