R 3.4.0中,
install.packages('RODBC', type='source')在macOS 10.12.4上失败。我还从CRAN下载了RODBC_1.3-15.tar.gz并尝试,
R CMD INSTALL RODBC_1.3-15.tar.gz在这两种情况下,我都得到了"ODBC头sql.h和sqlext.h未找到“。在Installation of RODBC/ROracle packages on OS X Mavericks中对此的讨论如下:
要解决这个问题,您需要下载最新版本的iODBC (www.iodbc.org),然后解压缩文件,并将标题和库搜索路径设置到放置解压缩包的位置。如果您不知道如何设置搜索路径,则只需将头文件(
sql.h和sqlext.h)放在/usr/include目录中,libiodbc.a文件放在/usr/lib目录中即可。
我下载了iodbc-42.5.tar.gz并将其解压缩到RODBC旁边的一个目录中,从RODBC_1.3-15.tar.gz解锁。遗憾的是,我无法找到如何设置头文件和库搜索路径,而且当我试图将头文件放在/usr/include中时,系统不会允许我。
iodbc-42.5/iodbc/README.MACOSX说,
您首先需要安装最新的Mac开发程序包,这些包可以在http://developer.apple.com/tools上找到
我想我已经做过了,但我不知道怎么检查。事实上,我想我已经做了好几次了:消息ODBC headers sql.h and sqlext.h not found从对install.packages('RODBC', type='source')的阴性响应中消失了一段时间,但是在我成功安装了port并运行了sudo port install gcc6之后才重新出现。然后我又得到了ODBC headers sql.h and sqlext.h not found。
iodbc-42.5/iodbc/README.MACOSX继续说,
然后,您可以在
mac/iODBCinst、mac/iODBC、mac/iODBCtest和mac/iODBCtestw下打开Xcode Project文件。
我不知道怎么找到这些。它还在继续,
或者从终端会话执行以下命令来构建所有框架和演示应用程序: $ cd mac $ make
我做了$ cd mac,得到了-bash: cd: mac: No such file or directory。显然,我需要用一些东西来代替mac,但我不知道是什么。???
谢谢。
发布于 2017-05-05 15:12:16
我用以下方法解决问题:
ODBC_INCLUDE=/path/to/libiodbc-srcs/include R CMD INSTALL RODBC其中,“/ path / to /libiodbc/include”是包含缺失文件、"sql.h“和"sqlext.h”的"include“文件夹的路径。在我的例子中,它类似于'~/Documents/Rstuff/iodbc-42.5/iodbc/include',,我在R中检查了以下内容:
dir('~/Documents/current/Rstuff/iodbc-42.5/iodbc/include')然后,以下几点对我有效:
ODBC_INCLUDE=~/Documents/current/Rstuff/iodbc-42.5/iodbc/include R CMD INSTALL RODBC这是在https://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf的第19页中描述的,但它包含了一个杂乱的引号(<'>),这使我在第一次读到它的时候就把它抛之脑后,因为我不熟悉这个语法。
在R上,Marc给出了两个建议:第一,Installation of RODBC on OS X Yosemite,它可能与“brew”一起工作;我没有尝试,因为我首先得到了上面的建议。
第二:
install.packages("RODBC", type = "source",
configure.args = "--with-odbc-include=/path/to/libiodbc-srcs/include/")这也应该适用于上面提到的路径替换。
我希望这能帮到别人。
https://stackoverflow.com/questions/43804850
复制相似问题