我已经看过这个RMySQL installing error on Fedora 28, Rstudio version 1.1.4,问题和答案,但是我没有那个问题。

我正在使用安装MySQL


  R CMD安装/home/Trina/Downloads/RMySQL_0.10.14.tar.gz


我得到:


  
  安装到库
  ‘/home/Trina/R/x86_64-redhat-linux-gnu-library/3.5’
  
  
  正在安装源包“ RMySQL” ...
  **软件包“ RMySQL”已成功解压并检查了MD5的总和
  找到mysql_config的cflags和libs!
  使用PKG_CFLAGS = -I / usr / include / mysql -m64
  使用PKG_LIBS = -L / usr / lib64 / mysql -lmysqlclient -lpthread -lm -lrt -lssl -lcrypto -ldl
  **库
  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-redened-cc1 -specs = / usr / lib / rpm / redhat / redhat-annobin-cc1 -m64 -mtune = generic -fasynchronous-unwind-tables -fstack-clash-protection -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-redened-cc1 -specs = / usr / lib / rpm / redhat / redhat-annobin-cc1 -m64 -mtune = generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -c connection.c -o connection.o
  connection.c:在函数“ RS_MySQL_moreResultSets”中:
  connection.c:224:3:错误:未知类型名称“ my_bool”;你是说“布尔”吗?
  my_bool tmp;
  ^ ~~~~~~
  布尔
  make:*** [/ usr / lib64 / R / etc / Makeconf:159:connection.o]错误1
  错误:“ RMySQL”软件包的编译失败
  删除“ /home/Trina/R/x86_64-redhat-linux-gnu-library/3.5/RMySQL”
  
  


我在Rstudio中使用install.packages遇到相同的问题。
感谢社区的任何帮助。

最佳答案

此错误与Linux中安装的mysql> = 8.0有关。

按照下面的mysql网站,从MySQL 8.0开始,将my_bool类型替换为bool或int C类型。

(在下面的URL中使用Ctl + F并搜索my_bool关键字可直接进入更新)

https://dev.mysql.com/doc/refman/8.0/en/c-api-data-structures.html

解决问题的解决方法

解压缩RMySQL tar文件,并在src文件夹下查找connection.c文件。

在connection.c文件中,只需将my_bool替换为bool类型。
之后,tar已修改了connection.c文件的RMySQL文件夹,并使用此更新的RMySQL tar文件通过R CMD INSTALL进行安装。

请尝试上述方法,让我知道它是否可以解决问题。

关于mysql - RMySQL在Fedora 28上安装错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51280112/

10-12 17:46