Как установить RODBC на macOS Sierra 10.12.4

В 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 не найдены". Обсуждение этого в Установке пакетов RODBC/ROracle на 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 OS X Developer Packages, которые можно найти по адресу 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 продолжается,

Затем вы можете открыть файлы Xcode Project Builder в mac/iODBCinst, mac/iODBC, mac/iODBCtest а также mac/iODBCtestw,

Я не знаю, как найти что-нибудь из этого. Далее продолжается,

или выполните следующие команды из сеанса терминала, чтобы построить все платформы и демонстрационные приложения:

$ cd mac
$ make

я сделал $ cd mac и получил -bash: cd: mac: No such file or directory, Очевидно, мне нужно что-то заменить mac здесь, но я не знаю что.???

Благодарю.

1 ответ

Я решил проблему с:

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

Это описано в с. 19 из https://cran.r-project.org/web/packages/RODBC/vignettes/RODBC.pdf, за исключением того, что содержит случайную цитату (<'>), которая отбросила меня в первые несколько раз, когда я ее прочитал, потому что не был знаком с этим синтаксисом.

На R-Sig-Mac Марк Шварц предложил два предложения: во-первых, установка RODBC на OS X Yosemite, которая может работать с "brew"; Я этого не пробовал, потому что сначала заставил работать вышеизложенное.

Во-вторых:

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

Это должно работать также с заменой пути, упомянутой выше.

Я надеюсь, что это помогает кому-то еще.

Другие вопросы по тегам