1

在 R 3.4.0 中,

install.packages('RODBC', type='source')

在 macOS 10.12.4 上失败。我也RODBC_1.3-15.tar.gz从 CRAN 下载并尝试过,

R CMD INSTALL RODBC_1.3-15.tar.gz

在这两种情况下,我都得到“找不到 ODBC 标头 sql.h 和 sqlext.h”。在 OS X Mavericks 上安装 RODBC/ROracle 包中对此的讨论如下:

要解决此问题,您需要下载最新版本的 iODBC (www.iodbc.org),然后解压缩文件并将头文件和库搜索路径设置为放置解压缩包的位置。如果您不知道如何设置搜索路径,您可以将头文件 (sql.hsqlext.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 OS X 开发人员包,可以在http://developer.apple.com/tools找到

我想我已经做到了,但我不知道如何检查它。[其实我想我已经做过很多次了:消息ODBC headers sql.h and sqlext.h not found,从对 的仍然否定响应中消失了一段时间,直到我成功安装并运行install.packages('RODBC', type='source')后才重新出现。然后我又来了。]portsudo port install gcc6ODBC headers sql.h and sqlext.h not found

iodbc-42.5/iodbc/README.MACOSX继续,

然后,您可以在mac/iODBCinstmac/iODBC和. mac/iODBCtestmac/iODBCtestw

我不知道如何找到这些。它进一步继续,

或从终端会话执行以下命令来构建所有框架和演示应用程序:

$ cd mac
$ make

我做到$ cd mac了,得到了-bash: cd: mac: No such file or directory。显然,我需要在mac这里替换一些东西,但我不知道是什么。???

谢谢。

4

1 回答 1

4

我解决了这个问题:

ODBC_INCLUDE=/path/to/libiodbc-srcs/include R CMD INSTALL RODBC

其中“/path/to/libiodbc-srcs/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

这在第 4 页中进行了描述。https://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf的 19 个,除了包含一个杂散的引号 (<'>),这让我头几次读到它,因为不熟悉那种语法。

在 R-Sig-Mac 上,Marc Schwartz 提出了两个建议:首先,在 OS X Yosemite 上安装 RODBC,它可以与“brew”一起使用;我没有尝试过,因为我首先得到了上面的工作。

第二:

install.packages("RODBC", type = "source", 
    configure.args = "--with-odbc-include=/path/to/libiodbc-srcs/include/")

这也适用于上述路径替换。

我希望这对其他人有帮助。

于 2017-05-05T15:12:16.890 回答