Ubuntu 中 RODBC 安装问题

Ubuntu 中 RODBC 安装问题

当我尝试在 Linux 上的 R 中安装 RODBC 时,我遇到了一些缺少标头的问题。有人能帮我解决这个问题吗?

> install.packages("RODBC")

Installing package(s) into ‘/home/administrator/R/x86_64-pc-linux-gnu-library/2.12’
(as ‘lib’ is unspecified)

trying URL 'http://cran.cnr.Berkeley.edu/src/contrib/RODBC_1.3-2.tar.gz'
Content type 'application/x-gzip' length 1108358 bytes (1.1 Mb)

opened URL
==================================================
downloaded 1.1 Mb

* installing *source* package ‘RODBC’ ...
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking sql.h usability... no
checking sql.h presence... no
checking for sql.h... no
checking sqlext.h usability... no
checking sqlext.h presence... no
checking for sqlext.h... no
configure: error: "ODBC headers sql.h and sqlext.h not found"
ERROR: configuration failed for package ‘RODBC’
* removing ‘/home/administrator/R/x86_64-pc-linux-gnu-library/2.12/RODBC’
Warning in install.packages :
  installation of package 'RODBC' had non-zero exit status

The downloaded packages are in
    ‘/tmp/RtmpqfNYpD/downloaded_packages’

答案1

正如 Dirk 在评论中所说,如果您已经安装了r-cran-rodbc,则无需install.packages()从 R 内部运行。library(RODBC)应该加载包。

更常见的情况是,当您看到与标头相关的错误时,这是​​因为未安装所需的开发库。解决方案是使用缺少的标头文件的名称在网上搜索(例如在 google 中搜索sqlext.h ubuntu),以识别所需的包。在本例中,您需要libiodbc2-dev。因此:

sudo apt-get install libiodbc2-dev

然后 R 内的安装就可以正常工作了。

答案2

尝试安装此站点和其他站点上的所有解决方案的包后,我成功RODBC使用以下命令构建了包:

sudo apt-get install unixodbc unixodbc-dev

我还安装了:

  • libiodbc2-dev
  • 库myodbc
  • odbc-postgresql

答案3

您真的需要从源代码构建吗?为什么不使用二进制包?

所以也许可以尝试这个:

  sudo apt-get install r-cran-rodbc

或者使用包管理系统的任何 GUI 前端。

答案4

RODBC 依赖于 R (>= 3.0.0(例如参见https://cran.r-project.org/web/packages/RODBC/RODBC.pdf

您的本地包库...

Installing package(s) into '/home/administrator/R/x86_64-pc-linux-gnu-library/2.12'

... 表明您可能安装了旧版本的 R(2.12)。如果是这种情况,请尝试升级到最新版本的 R。

相关内容