r - Fedora 28 上的 RMySQL 安装错误,Rstudio 版本 1.1.4,
问题描述
每当我尝试在 Rstudio 上安装 RmySQL 时,它都会给我这个“编译器”错误,但我已经安装了所有需要的依赖项。
> install.packages("RMySQL", dependencies=TRUE)
Installing package into ‘/home/nizar/R/x86_64-redhat-linux-gnu-library/3.4’
(as ‘lib’ is unspecified)
also installing the dependency ‘curl’
trying URL 'https://cran.rstudio.com/src/contrib/curl_3.2.tar.gz'
Content type 'application/x-gzip' length 367047 bytes (358 KB)
==================================================
downloaded 358 KB
trying URL 'https://cran.rstudio.com/src/contrib/RMySQL_0.10.14.tar.gz'
Content type 'application/x-gzip' length 52703 bytes (51 KB)
==================================================
downloaded 51 KB
* installing *source* package ‘curl’ ...
** package ‘curl’ successfully unpacked and MD5 sums checked
Package libcurl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libcurl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libcurl', required by 'virtual:world', not found
Package libcurl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libcurl.pc'
to the PKG_CONFIG_PATH environment variable
Package 'libcurl', required by 'virtual:world', not found
Using PKG_CFLAGS=
Using PKG_LIBS=-lcurl
------------------------- ANTICONF ERROR ---------------------------
Configuration failed because libcurl was not found. Try installing:
* deb: libcurl4-openssl-dev (Debian, Ubuntu, etc)
* rpm: libcurl-devel (Fedora, CentOS, RHEL)
* csw: libcurl_dev (Solaris)
If libcurl is already installed, check that 'pkg-config' is in your
PATH and PKG_CONFIG_PATH contains a libcurl.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 ‘curl’
* removing ‘/home/nizar/R/x86_64-redhat-linux-gnu-library/3.4/curl’
Warning in install.packages :
installation of package ‘curl’ had non-zero exit status
* installing *source* package ‘RMySQL’ ...
** package ‘RMySQL’ successfully unpacked and MD5 sums checked
Found mysql_config cflags and libs!
Using PKG_CFLAGS=-I/usr/include/mysql -m64
Using PKG_LIBS=-L/usr/lib64/mysql -lmysqlclient -lpthread -lm -lrt -lssl -lcrypto -ldl
** libs
rm -f RMySQL.so RMySQL-init.o connection.o db-apply.o driver.o exception.o fields.o result.o utils.o
gcc -m64 -I/usr/include/R -DNDEBUG -I/usr/include/mysql -m64 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -c RMySQL-init.c -o RMySQL-init.o
gcc -m64 -I/usr/include/R -DNDEBUG -I/usr/include/mysql -m64 -I/usr/local/include -fpic -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -mcet -fcf-protection -c connection.c -o connection.o
connection.c: In function ‘RS_MySQL_moreResultSets’:
connection.c:224:3: error: unknown type name ‘my_bool’; did you mean ‘bool’?
my_bool tmp;
^~~~~~~
bool
make: *** [/usr/lib64/R/etc/Makeconf:159: connection.o] Error 1
ERROR: compilation failed for package ‘RMySQL’
* removing ‘/home/nizar/R/x86_64-redhat-linux-gnu-library/3.4/RMySQL’
Warning in install.packages :
installation of package ‘RMySQL’ had non-zero exit status
The downloaded source packages are in
‘/tmp/RtmpF8mtsU/downloaded_packages’
我尝试通过 dnf 命令从 Fedora 中删除 Mysql 但仍然相同,尝试“dnf install c-cran-rmysql”但它没有给我结果..
解决方案
您的答案在此行之后:
Configuration failed because libcurl was not found. Try installing:
安装将安装的libcurl-devel
软件包(libcurl
如果尚未安装)。
dnf install libcurl-devel
如果做不到这一点,您可以安装RMariaDB
更新的软件包,因为RMySQL
它基于正在逐步淘汰的代码。
推荐阅读
- python - 我有一张图像,如何将其更改为纯黑白,以便只有特定颜色变为白色
- python - 如何在 tkinter 中显示彩色表情符号?
- java - 已部署服务器上的 Hazelcast 会抛出 java.lang.ClassNotFoundException 而本地不会
- javascript - 如何处理 websocket Base64 内容
- javascript - 对象迭代跳过两位数?
- c++ - C ++派生类仅使用继承的基构造函数的一部分
- python - numpy.corrcoef 评估与 y 标签输出相关的最佳 x 或特征列
- flask - 我如何在不同的端口上运行 Swagger UI,然后在 Flask 中的主 App 端口上运行?就像 Swagger 在 8080 上运行,主应用在 8081 上运行
- excel - 从引用中删除前导零
- python - 如何将曲线拟合到包含 NaN 值的 Excel 文件的数据