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

In 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, которые можно найти по адресу 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 чем-то, но я не знаю чем. ???

Спасибо.


person Spencer Graves    schedule 05.05.2017    source источник
comment
Я думаю, что способ проверки установки правильной версии Xcode зависит от вашей конкретной версии OSX. Для El Cap это 8.2.1, а для Sierra - 8.3.1 или выше ... Думаю. А также убедитесь, что ваша версия CLT соответствует вашей версии Xcode. Я нашел свой (для El Cap) здесь: https://developer.apple.com/download/more/   -  person IRTFM    schedule 05.05.2017
comment
iodbc-42.5.tar.gz не является последним источником iODBC, хотя это то, что Apple опубликовала на своем сайте FOSS на сайте macOS; основан на iODBC 3.52.6 (от октября 2007 г.). Самая последняя (3.52.12 на момент написания) всегда поступает с iodbc.org.   -  person TallTed    schedule 27.12.2017


Ответы (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, которая может работать с "варевом"; Я не пробовал этого, потому что сначала у меня сработало вышеперечисленное.

Второй:

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

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

Надеюсь, это поможет кому-то другому.

person Spencer Graves    schedule 05.05.2017
comment
Вот ссылка для загрузки исходного кода iODBC: iodbc.org/dataspace/ doc / iodbc / wiki / iodbcWiki / Downloads - person pietrop; 23.12.2017