26

У меня проблема с некоторыми отсутствующими заголовками при попытке установить RODBC в R на моем Linux. Кто-нибудь может мне помочь с этим вопросом?

> 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’

6 ответов6

25

Как сказал Дирк в комментариях, если вы уже установили r-cran-rodbc, нет необходимости запускать install.packages() изнутри R. "библиотека (RODBC)" должна загрузить пакет.

В целом, когда вы видите ошибки, связанные с заголовками, это происходит потому, что не установлена необходимая библиотека разработки. Решение состоит в том, чтобы искать в Интернете, используя имена отсутствующих заголовочных файлов (например, Google для «sqlext.h ubuntu»), чтобы определить требуемый пакет. В этом случае вам нужен libiodbc2-dev. Так:

sudo apt-get install libiodbc2-dev

Тогда установка внутри R должна работать.

11

Вам действительно нужно строить из исходного кода? Почему вы не используете бинарный пакет?

Так что, возможно, попробуйте это вместо:

  sudo apt-get install r-cran-rodbc

или используйте любой из интерфейсов GUI для системы управления пакетами.

8

После попытки установить пакеты из всех решений на этом сайте и других, я успешно создал пакет RODBC , используя:

sudo apt-get install unixodbc unixodbc-dev

Я также установил:

  • libiodbc2-DEV
  • libmyodbc
  • ODBC-PostgreSQL
3

FWIW, у меня была та же проблема («заголовки ODBC sql.h и sqlext.h не найдены») на OS X, и я исправил ее, установив unixodbc (brew install unixodbc)

1

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.

0

У меня тоже была эта проблема. Для меня решение состояло в том, что мне не хватало некоторых зависимостей Ubuntu, таких как

Стоит отметить , что install.packages("RODBC", dependencies=TRUE) не подхватывает эти пакеты. Они лежат вне самого R

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .