“tcl.h: никакая такая ошибка файла или каталога” в компиляции cgnstools

Я установил исходный код CGNS (загруженный с GitHub) для реализации его в CFL3D. Я использовал команды (./настраивать, сделайте, сделайте установку). Я установил tk-dev и tcl-dev пакеты, более ранняя ошибка была "tk.h: никакой такой файл или каталог", который разрешен после определения пути (/usr/include/tk/tk.h) в "make.defs" файле в cgnstools каталоге, но теперь компиляторе, не находит tcl.h файл. Предложите.

----- cgnsview -----
make[1]: Entering directory '/home/magan/CGNS-3.4.0/src/cgnstools/cgnsview'
gcc -g -O2  -I/home/magan/CGNS-3.4.0/src /usr/include/tk/tk.h -c cgiowish.c
/usr/include/tk/tk.h:19:10: fatal error: tcl.h: No such file or directory
 #include <tcl.h>
          ^~~~~~~
compilation terminated.
cgiowish.c:15:10: fatal error: tk.h: No such file or directory
 #include "tk.h"
          ^~~~~~
compilation terminated.
Makefile.unix:115: recipe for target 'cgiowish.o' failed
make[1]: *** [cgiowish.o] Error 1
make[1]: Leaving directory '/home/magan/CGNS-3.4.0/src/cgnstools/cgnsview'
Makefile:57: recipe for target 'prog-cgnsview' failed
make: *** [prog-cgnsview] Error 2
0
задан 17 April 2019 в 09:56

1 ответ

Существует приложение из семейства apt, которое называется apt-file. С помощью этого приложения вы можете осуществлять поиск по именам файлов, и оно вернет пакет (или пакеты), который предоставляет искомый файл.
Вы можете установить его с помощью apt-get install apt-file, затем выполнить apt-file update. После этого вы можете искать свой файл с помощью apt-file search tcl.h. Для меня (Debian 9 здесь), результаты где (список длинный, я сократил его здесь):

...
tcl8.5-dev: /usr/include/tcl8.5/tcl-private/generic/tcl.h
tcl8.5-dev: /usr/include/tcl8.5/tcl.h
tcl8.6-dev: /usr/include/tcl8.6/tcl-private/generic/tcl.h
tcl8.6-dev: /usr/include/tcl8.6/tcl.h
tcllib: /usr/share/doc/tcllib/html/me_tcl.html
...

В моей системе я бы установил один из пакетов tcl8.5-dev или tcl8 0,6-DEV. Также может понадобиться указать, где находится библиотека. Обычно это делается с помощью опции в скрипте ./configure. Попробуйте выполнить ./configure --help | less, чтобы найти все доступные опции.

0
ответ дан 17 April 2019 в 09:56

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

Похожие вопросы: