Как установить 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/")
Это должно работать также с заменой пути, упомянутой выше.
Я надеюсь, что это помогает кому-то еще.