R В install.packages("RGtk2"): фатальная ошибка: файл 'gdk/gdkx.h' не найден

Когда я устанавливаю.packages("RGtk2") в R, я получаю эту проблему:

    fatal error: 'gdk/gdkx.h' file not found
#include <gdk/gdkx.h>
         ^
1 error generated.
make: *** [Rgtk.o] Error 1
ERROR: compilation failed for package ‘RGtk2’
* removing ‘/usr/local/lib/R/3.4/site-library/RGtk2’
* restoring previous ‘/usr/local/lib/R/3.4/site-library/RGtk2’

Я устанавливаю GTK, используя brew в macOS Sierra 10.12.3

2 ответа

Согласно документации INSTALL, вы должны сначала установить библиотеки Gtk:

Во всех случаях (например, Unix или Windows, исходный код или двоичный файл) вам понадобятся соответствующие библиотеки Gtk.

Для Windows вы можете скачать пакет разработчика GTK с http://gladewin32.sourceforge.net/

Для Unix вы можете получить исходные файлы для разных библиотек с ftp://ftp.gtk.org/pub/gtk/v2.8/

GTK широко использует другие библиотеки и конкретные версии этих зависимых библиотек. В результате установка GTK (под Unix) может быть трудоемким и, по-видимому, косвенным процессом, который включает в себя установку многочисленных подбиблиотек.

Я подозреваю, что Gtk HomeBrew может быть неправильно установлен в вашей системе.

Дальнейшие исследования выявляют похожие проблемы, а также предлагают устранение неполадок, чтобы получить Gtk и RGtk2 работать вместе.

Установка RGtk2 теперь может быть намного проще. Сначала установите Homebrew, затем в R:

system('brew install gtk+')
install.packages(
  'RGtk2', type = 'mac.binary.el-capitan', repos = 'https://macos.rbind.org'
)

Если вы не предпочитаете использовать репозиторий https://macos.rbind.org/ (который был создан мной) для установки готового бинарного пакета, вы можете просто установить RGtk2 из исходного кода:

system('brew install gtk+')
install.packages('RGtk2', type = 'source')

Если кому-то интересно узнать о технических деталях, в этом коммите в репозитории RGtk2 на Github была исправлена ​​ошибка "файл gdk / gdkx.h не найден".

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