конфликт версий для пакета "Tk": есть 8.6.8, нужно ровно 8.6 - PullRequest
0 голосов
/ 08 ноября 2018

Пытался проверить похожие вопросы, но все еще есть проблемы. Я скачал, скомпилировал и установил Tcl / Tk 8.6.8 и включил тестовые программы, работающие в порядке, так что, насколько я вижу, установка в порядке (под управлением Linux Red Hat 7.2).

У меня есть старая программа на C ++ со следующим кодом, который завершается ошибкой в ​​команде «Tc_EvalFile», сообщая «конфликт версий для пакета« Tk »: есть 8.6.8, нужно ровно 8.6»:

char *tclFile = getenv("TCL_SOURCE"); //a tkcon.tcl file
if (tclFile != (char *)NULL) {
   if (Tcl_Init(interp) == TCL_ERROR) {
      ... }  // no error
   if (Tk_Init(interp) == TCL_ERROR) {
      ... }  // no error
   if (Tcl_EvalFile(interp, tclFile) == TCL_ERROR) {
      cout << " " << Tcl_GetStringResult(interp) << endl; //returns "version conflict...."
      return TCL_ERROR;
   }
}

LD_LIBRARY_PATH, TK_LIBRARY и TCL_LIBRARY и TCL_SOURCE установлены. Попытался установить "8.6" в init.tcl / tk.tcl, но затем я получаю "Не могу найти пригодный для использования tk.tcl". Код ранее работал нормально на Solaris с Tcl / Tk версии 8.4.

...