RMySQL在Fedora 28上安装错误

时间:2018-07-11 07:57:13

标签: mysql r rmysql

我已经看过这个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’      
        
    • 安装 source 软件包“ 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遇到相同的问题。 感谢社区的任何帮助。

1 个答案:

答案 0 :(得分:0)

此错误与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进行安装。

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