Установка RODBC на OS X Yosemite
При установке пакета R RODBC в RStudio на OS X Yosemite, я получаю следующую ошибку:
configure: error: "ODBC headers sql.h and sqlext.h not found"
Это распространенная ошибка, которая указывает на то, что драйверы ODBC не были установлены (заголовки iODBC не включены в ОС 10.9, поэтому требуется отдельная установка). Итак, я устанавливаю unixODBC и подтверждаю, что заголовочные файлы присутствуют в PATH.
Sys.getenv("PATH")
дает мне правильный путь, в том числе, где находятся два файла.
Тем не менее, когда я пытаюсь install.packages("RODBC",type = "source")
опять та же ошибка сохраняется. Протестировали это с iODBC, а также с unixODBC.
Могу ли я выполнить какие-либо другие тесты для диагностики проблемы?
4 ответа
У нас есть несколько систем Yosemite с версией R 3.1.2, которые соответствуют современным инструментам командной строки Xcode и Xcode. Следующее последовательно работает с каждым крупным обновлением R или новой установкой системы (в Терминале):
brew update && brew install unixODBC && \
wget "http://cran.r-project.org/src/contrib/RODBC_1.3-10.tar.gz" && \
R CMD INSTALL RODBC_1.3-10.tar.gz
Это (очевидно) требует Homebrew, но это то, что мы стандартизировали в нашем магазине.
По мере обновления RODBC номер версии (1.3-10, 1.3-11, ...) будет меняться. Чтобы узнать текущую версию, посмотрите https://cran.r-project.org/web/packages/RODBC/index.html.
Я использую OS X Yosemite 10.10.5, R версии 3.2.2. Следуя приведенным ниже инструкциям, я могу заставить его работать.
brew install unixodbc
brew link unixodbc
(если пропустить этот шаг, R все еще не может найти эти заголовочные файлы)install.packages('RODBC', type='source')
Я получил 404 при вызове RODBC_1.3-10.tar.gz, поэтому я внес небольшое изменение в приведенный выше скрипт, и он отлично работал: brew update && brew install unixODBC && wget " http://cran.r-project.org/src/contrib/RODBC_1.3-11.tar.gz"&& R CMD УСТАНОВИТЬ RODBC_1.3-11.tar.gz
В моей системе OS X Yosemite с unixODBC, установленным из MacPorts и R 3.3.2, install.packages()
не удалось (из репо или из архива, который я сохранил локально), но R CMD INSTALL RODBC_1.3-14.tar.gz
сделал работу.