我已经看到这个rmysql安装错误在fedora28,rstudioversion1.1.4,问答,但我没有这个问题。
我正在使用安装mysql
r cmd install/home/trina/downloads/rmysql\u 0.10.14.tar.gz
我得到了:
正在安装到库“/home/trina/r/x86_64-redhat-linux-gnu-library/3.5”
正在安装源程序包“rmysql”…包'rmysql'已成功解包,md5 sums checked found mysql\u config cflags and libs!使用pkg\u cflags=-i/usr/include/mysql-m64使用pkg\u libs=-l/usr/lib64/mysql-lmysqlclient-lpthread-lm-lrt-lssl-lcrypto-ldllibs 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=格式安全性-wp,-d\U加固\U源=2-wp,-glibcxxAssert-fexceptions-fstack protector strong-grecord gcc switches-specs=/usr/lib/rpm/redhat/redhat-hardend-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\u fortify\u source=2-wp,-glibcxxAssert-fexceptions-fstack protector strong-grecord gcc switches-specs=/usr/lib/rpm/redhat/redhat-hardend-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\u mysql\u moresultsets':connection.c:224:3:错误:未知类型名'my\u bool';你是说“bool”吗?我的\u bool tmp;^~~~~~bool make:**[/usr/lib64/r/等/makeconf:159:connection.o]错误1错误:包“rmysql”的编译失败
正在删除“/home/trina/r/x86\u 64-redhat-linux-gnu-library/3.5/rmysql”
在rstudio中使用install.packages也面临同样的问题。感谢社区的帮助。
1条答案
按热度按时间o2g1uqev1#
此错误与linux中安装的mysql>=8.0有关。
根据下面的mysql网站,从mysql 8.0开始,我的bool类型被替换为bool或int c类型。
(在下面的url中使用ctl+f并搜索mybool关键字直接进入更新)
https://dev.mysql.com/doc/refman/8.0/en/c-api-data-structures.html
解决问题的变通方法
解压缩rmysql tar文件并在src文件夹下查找connection.c文件。
在connection.c文件中,只需将我的\u bool替换为bool类型。之后,tar修改了connection.c文件的rmysql文件夹,并使用r cmd install使用这个更新的rmysql tar文件进行安装。
请尝试上述方法,让我知道它是否解决了问题。