перейти на более новую версию Tcl/Tk в R

У меня установлено несколько версий tcl и tk в tcl.framework и tk.framework 8.4, 8.5 и 8.6.

Кроме того, я использую R, и он всегда жалуется на следующую ошибку

"In fun(...): Не удается найти пригодный для использования файл tk.tcl в следующих каталогах:"

Несколько «каталогов», в которых он ищет, неверны, и это даже не правильная версия, которую он ищет. Что я хотел бы сделать, так это указать R правильную «версию», которую я хочу использовать, и «правильный путь», который он должен искать для файлов tcl/tk.

У меня возник соблазн добавить новый каталог в путь поиска R-Tcl/Tk с помощью "addTclPath("/custom/TclTk/path")", но как мне сказать ему, что я хочу, чтобы он выполнял поиск по другому пути и использовал " новая" версия tcl/tk с этого момента.

Я использую MACOSX 10.6.


person megyn    schedule 12.05.2011    source источник


Ответы (2)


Это описано в Руководстве по установке и администрированию R:

http://cran.r-project.org/doc/manuals/R-admin.html#Tcl_002fTk

С этого начинается соответствующий раздел в версии R 2.13.0 Patched (2011-04-19 r55523).

A.2.1 Tcl/Tk

Для пакета tcltk требуется установленный Tcl/Tk >= 8.4: исходники доступны по адресу http://www.tcl.tk/< /а>. Чтобы указать расположение файлов Tcl/Tk, вам могут понадобиться параметры конфигурации. . .

person mdsumner    schedule 12.05.2011

Похоже, вы используете неполную установку Tk. Поскольку Tk (по умолчанию) работает не просто как библиотека, а как библиотека с поддерживающими файлами сценариев, для ее работы ее необходимо правильно установить. Когда вы используете установленную версию, это сообщение должно исчезнуть. (OTOH, OSX включает в себя правильную сборку Tk в качестве фреймворка IIRC; немного устарела, но правильная. На моем компьютере с OSX этот параметр конфигурации будет работать: --with-tk-config=/Library/Frameworks/Tk.framework/tkConfig.sh)

person Donal Fellows    schedule 12.05.2011
comment
Я настроил, как вы предложили, но при попытке запустить make я получил следующую ошибку: - person megyn; 13.05.2011
comment
Я настроил его, запустив make, я получил ошибку: tkMacOSXBitmap.c:262: error: 'CIconHandle' undeclared (первое использование в этой функции) tkMacOSXBitmap.c:262: error: (Каждый необъявленный идентификатор сообщается только один раз tkMacOSXBitmap.c: 262: ошибка: для каждой функции, в которой она появляется.) tkMacOSXBitmap.c:262: ошибка: ожидается «)» перед «ресурсом» tkMacOSXBitmap.c:263: предупреждение: неявное объявление функции «DisposeCIcon» tkMacOSXBitmap.c:263: ошибка : ожидается ')' перед 'ресурсом' make[3]: *** [tkMacOSXBitmap.o] Ошибка 1 make[2]: *** [build-tk] Ошибка 2 make[1]: *** [tk] Ошибка 2 make: *** [разработать] Ошибка 2 - person megyn; 13.05.2011
comment
Вы используете свою сборку или сборку системы? Если последнее, вам не нужно компилировать Tk самостоятельно. (В этом суть системной библиотеки.) - person Donal Fellows; 14.05.2011