Прежде всего, я хотел бы указать, что я новичок в Ubuntu, поэтому извините, если то, что я спрашиваю, смешно.
Я скачал шахматную программу Scid 4.4 и попытался скомпилировать ее, как было объяснено на ее веб-сайте:
1) Инициализировать git.
2) Создайте папку, в которую вы хотите загрузить и (?) Скомпилируйте исходный код, затем приведите: git init в командной строке.
3) Теперь вы готовы к загрузке источников, напоминающих заклинание Фульвио: git clone git: //scid.git.sourceforge.net/gitroot/scid/scid. Это должно дать вам последний источник Scid.
4) Теперь вы готовы к компиляции Scid. В принципе, все, что вам нужно сделать, это: ./configure и затем сделать
5) Если вы застряли, вам, вероятно, нужно получить версии для разработчиков tcl / tk. Это приводит к выдаче этих трех команд: sudo apt-get install tcl8.5-dev sudo apt-get install tk8.5-dev sudo apt-get install zlib1g -dev
6) Теперь вы должны быть готовы к compile
blockquote>Проблема в том, что при запуске ./configure для начала компиляции на терминале появляется следующее сообщение:
configure: Программа конфигурации Makefile для Scid
blockquote>Tcl/Tk version: 8.5 Your operating system is: Linux 3.8.0-19-generic Location of "tcl.h": /usr/include/tcl8.5 Location of "tk.h": /usr/include/tcl8.5 Location of Tcl 8.5 library: not found Location of Tk 8.5 library: not found Checking if your system already has zlib installed: yes. Using Makefile.conf. Not all settings could be determined! The default Makefile was written. You will need to edit it before you can compile Scid.
Что мне делать? Кто-нибудь сталкивался с этой проблемой раньше? Заранее спасибо
Я запустил
ls -l /usr/include/tcl8.5/tcl.h
blockquote>здесь результат:
-rw-r - r-- 1 корневой корень 87291 abr 22 10:45 /usr/include/tcl8.5/tcl.h
blockquote> [ 1117] Я также попробовал то, что вы предложили
Не могли бы вы запустить git reset --hard HEAD и git clean -d -f, чтобы очистить все с помощью Git? Затем снова запустите ./configure. Просто выстрел в темноте - я видел некоторые вещи из автомата GNU, все еще слушающие его «кэшированную» версию результатов или что-то в этом роде.
blockquote>Все еще нет решения. Я не знаю, почему он не может распознать библиотеку, хотя она установлена
Я открыл configure, чтобы увидеть, где программа искала библиотеку. Это код:
# libraryPath: List of possible locations of Tcl/Tk library. set libraryPath { /usr/lib /usr/lib64 /usr/local/tcl/lib /usr/local/lib /usr/X11R6/lib /opt/tcltk/lib /usr/lib/x86_64-linux-gnu } lappend libraryPath "/usr/lib/tcl${tclv}" lappend libraryPath "/usr/lib/tk${tclv}" lappend libraryPath "/usr/lib/tcl${tclv_nodot}" lappend libraryPath "/usr/lib/tk${tclv_nodot}" # Try to add tcl_library and auto_path values to libraryPath, # in case the user has a non-standard Tcl/Tk library location: if {[info exists ::tcl_library]} { lappend headerPath \ [file join [file dirname [file dirname $::tcl_library]] include] lappend libraryPath [file dirname $::tcl_library] lappend libraryPath $::tcl_library } if {[info exists ::auto_path]} { foreach name $::auto_path { lappend libraryPath $name } } if {! [info exists var(TCL_INCLUDE)]} { puts -nonewline { Location of "tcl.h": } set opt(tcl_h) [findDir "tcl.h" $headerPath "TCL_VERSION.*$tclv"] if {$opt(tcl_h) == ""} { puts "not found" set success 0 set opt(tcl_h) "$::defaultVar(TCL_INCLUDE)" } else { puts $opt(tcl_h) } } set opt(tcl_lib) "" if {! [info exists var(TCL_LIBRARY)]} { puts -nonewline " Location of Tcl $tclv library: " set opt(tcl_lib) [findDir "libtcl${tclv}.*" $libraryPath] if {$opt(tcl_lib) == ""} { set opt(tcl_lib) [findDir "libtcl${tclv_nodot}.*" $libraryPath] if {$opt(tcl_lib) == ""} { puts "not found" set success 0 set opt(tcl_lib) "$opt(tcl_h)" set opt(tcl_lib_file) "tcl\$(TCL_VERSION)" } else { set opt(tcl_lib_file) "tcl${tclv_nodot}" puts $opt(tcl_lib) } } else { set opt(tcl_lib_file) "tcl\$(TCL_VERSION)" puts $opt(tcl_lib) } } if {! [info exists var(TCL_INCLUDE)]} { set var(TCL_INCLUDE) "-I$opt(tcl_h)" } if {! [info exists var(TCL_LIBRARY)]} { set var(TCL_LIBRARY) "-L$opt(tcl_lib) -l$opt(tcl_lib_file)" } return $success
Итак, я предполагаю (и, наверное, я имею в виду, что понятия не имею, как кодировать), я должен написать где-то здесь usr / lib / tcl8.5 и usr / lib / tk8 .5, я прав?
blockquote>Location of Tcl 8.5 library: not found Location of Tk 8.5 library: not found
Означает, что вам не хватает библиотек Tcl и Tk (пакеты разработки).
Установите tcl8.5-dev и tk8.5-dev , и все будет готово.
Как я нашел это? Используйте поиск по путям на сайте http://packages.ubuntu.com :
Перед установкой пакетов:
$ ./configure configure: Makefile configuration program for Scid Tcl/Tk version: 8.5 Your operating system is: Linux 3.8.0-29-generic Location of "tcl.h": not found Location of "tk.h": not found Location of Tcl 8.5 library: /usr/lib Location of Tk 8.5 library: /usr/lib Checking if your system already has zlib installed: yes. Using Makefile.conf. Not all settings could be determined! The default Makefile was written. You will need to edit it before you can compile Scid.
После установки пакетов:
$ ./configure configure: Makefile configuration program for Scid Renaming "Makefile" to "Makefile.bak" Tcl/Tk version: 8.5 Your operating system is: Linux 3.8.0-29-generic Location of "tcl.h": /usr/include/tcl8.5 Location of "tk.h": /usr/include/tcl8.5 Location of Tcl 8.5 library: /usr/lib Location of Tk 8.5 library: /usr/lib Checking if your system already has zlib installed: yes. Using Makefile.conf. The Makefile configured for your system was written. Multi-threading enabled (if you have problems try ./configure THREADS=""). Now just type "make" to compile Scid.
Вы видите, это очень похоже, и легко упустить из виду, что это действительно успешно сейчас.
В моем случае изменение скрипта конфигурации работало. Я добавил /usr/lib/i386-linux-gnu
в список libraryPath (строка 167)
Location of Tcl 8.5 library: not found
Location of Tk 8.5 library: not found
Была такая же проблема с Ubuntu 13.04. Не удалось скомпилировать, хотя я установил необходимые пакеты. Кажется, проблема в том, что scid ищет в / usr / lib библиотеки tcl и tk, хотя они установлены в / usr / lib / x86_64-linux-gnu, как вы можете видеть, щелкнув правой кнопкой мыши в менеджере пакетов на Пакет tcl8.5-lib и выбор свойств / установленных файлов.
Решением является создание мягких ссылок на те библиотеки в каталоге / usr / lib dir:
sudo ln -s /usr/lib/x86_64-linux-gnu/libtcl8.5.so.0 /usr/lib/libtcl8.5.so.0
sudo ln -s /usr/lib/x86_64-linux-gnu/libtk8.5.so.0 /usr/lib/libtk8.5.so.0
Надежда, которая помогает.