在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
目录中,{{1} }libiodbc.a
目录中的文件。
我下载了/usr/lib
并将其解压缩到RODBC旁边的目录中,从iodbc-42.5.tar.gz
解压缩。遗憾的是,我无法找到如何设置标题和库搜索路径,当我尝试将标题文件放在RODBC_1.3-15.tar.gz
中时,系统不会让我这么做。
/usr/include
说,
您首先需要安装最新的Mac OS X开发者软件包,可以在http://developer.apple.com/tools
找到
我想我已经做到了,但我不知道如何检查它。 [事实上,我认为我已多次完成此操作:消息iodbc-42.5/iodbc/README.MACOSX
从ODBC headers sql.h and sqlext.h not found
的仍为负面的回复中消失了一段时间,但仅在我成功安装后重新出现{ {1}}并运行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
下打开Xcode项目构建器文件。
我不知道如何找到这些。它还在继续,
或从终端会话执行以下命令以构建所有框架和演示应用程序:
mac/iODBCtest
我做了mac/iODBCtestw
并得到了$ cd mac
$ make
。显然,我需要替换$ cd mac
这里的东西,但我不知道是什么。 ???
感谢。
答案 0 :(得分:4)
我用以下方法解决了问题:
ODBC_INCLUDE=/path/to/libiodbc-srcs/include R CMD INSTALL RODBC
其中“/ path / to / libiodbc-srcs / include”是包含缺失文件“include”文件夹的路径,“sql.h”和“sqlext.h”。在我的情况下,它是'〜/ 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
这在p。中有描述。 https://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf中的19个,除了包含杂散引号(<'>)之外,它在我读过它的前几次就让我失望了,因为我不熟悉那种语法。
在R-Sig-Mac上,Marc Schwartz提出了两条建议:第一,Installation of RODBC on OS X Yosemite,可能与“酿造”有关;我没有尝试过,因为我先完成了上述工作。
第二:
install.packages("RODBC", type = "source",
configure.args = "--with-odbc-include=/path/to/libiodbc-srcs/include/")
这也适用于上面提到的路径替换。
我希望这有助于其他人。