Страница 1 из 1

Установка TCL локально на шелл.

СообщениеДобавлено: 20 июн 2010 23:17
tvrsh
Как вы знаете, TCL необходим для установки Eggdrop, и в этой статье будет рассмотрено как установить его локально на шелл.

Скачиваем TCL.
Рекомендуемый источник это конечно официальная страница, или его страница на Sourceforge.
Самый простой способ скачать его сразу на шелл, это использовать команду wget:

На экране вы увидите примерно следующее:
username@shell:~/down$ wget http://prdownloads.sourceforge.net/tcl/tcl8.5.8-src.tar.gz

--2008-11-16 06:28:25-- http://prdownloads.sourceforge.net/tcl/ ... src.tar.gz
Resolving prdownloads.sourceforge.net... 216.34.181.60
Connecting to prdownloads.sourceforge.net|216.34.181.60|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://voxel.dl.sourceforge.net/sourcef ... src.tar.gz [following]
--2008-11-16 06:28:25-- http://voxel.dl.sourceforge.net/sourcef ... src.tar.gz
Resolving voxel.dl.sourceforge.net... 208.122.28.3, 208.122.28.21, 208.122.28.2, ...
Connecting to voxel.dl.sourceforge.net|208.122.28.3|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 4405210 (4.2M) [application/x-gzip]
Saving to: `tcl8.5.8-src.tar.gz'

100%[==================================================================>] 4,405,210 1.12M/s in 3.8s

2008-11-16 06:28:29 (1.10 MB/s) - `tcl8.5.8-src.tar.gz' saved [4405210/4405210]

Исходники скачены, теперь остается скомпилировать их.

Инсталляция TCL.
Необходимо распаковать скаченные исходники. Делается это командой
tar zxvf tcl8.5.8-src.tar.gz


Вы можете добавить ключ v в -xfz (т.е. -xvfz) если хотите, чтобы отображались все распаковвываемые файлы, но это не обязательно.
Теперь у вас появилась директория tcl8.5.8 рядом со скаченным архивом. Следующий шаг это вход в эту директорию.
cd tcl8.5.8


Когда вы что-то компилируете вручную, как мы это сейчас делаем, очень полезно почитать файлы README и/или INSTALL, которые идут вместе с исходниками. Прочитав файл README, мы узнаем, что нам необходимо войти в поддиректорию unix. Это мы и сделаем.
cd unix


В этой директории также находится файл README с пошаговой инструкцией дальней установки, но мы пойдем более быстрым и простым путем.
Следующим шагом мы должны запустить конфигурационный скрипт. Так как мы устанавливает TCL локально на шелл, то нам нужно изменить дефолтную директорию для установки. Мы сделаем это использую ключ --prefix. Значит, наша следующая команды будет выглядеть так:
./configure --prefix=$HOME/local


Это изменит дефолтную директорию для установки на local внутри нашей домашней директории. $HOME это переменная, содержащая полный путь к вашей домашней директории. Или вы можете написать полный путь до вашей домашней директории (обычно /home/username).

Если конфигурационный скрипт запустился без ошибок и предупреждений, то мы можем приступить к сборке используя команду make. Наша следующая команда:
make


После этого вы увидите много служебной информации, которая вам будет совершенно непонятна. В этом ничего страшного нет, убедитесь, что там не будет никаких ошибок. В зависимости от машины и системы установленной на ней эта процедура займет некоторое время.

После завершения make следующим шагом будет make install.
Если вы не указали директорию при запуске конфигурационного скрипта или у вас стоят неверные права на эту директорию, то у вас ничего не выйдет. Запускаем:
make install


После окончания, когда вы войдете в директорию куда мы установили TCL ( $HOME/local/ ) то вы должны там увидеть следующие поддиректории:
username@shell:~/local$ ls
bin include lib man


Конфигурирование бота.
После успешной установки TCL вы можете начать установку бота. Единственная вещь, которая отличается от обычной компиляции, это включение двух ключей в конфигурационный скрипт. Ваша команда ./configure теперь будет выглядеть так:
./configure --with-tcllib=$HOME/local/lib/libtcl8.5.so --with-tclinc=$HOME/local/include/tcl.h


Дальнейшая инсталляция бота будет такой же, как всегда, без каких-либо изменений.
Важно: если при make вы получаете ошибку: error while loading shared libraries: libtcl8.5.so: cannot open shared object file.

Введите эту команду если используете bash шелл:
export LD_LIBRARY_PATH=$HOME/local/lib:${LD_LIBRARY_PATH}

Если используете csh шелл:
setenv LD_LIBRARY_PATH $HOME/local/lib:${LD_LIBRARY_PATH}


Вы также должны указать переменную TCL_LIBRARY чтобы TCL интерпретатор смог найти скрипт init.tcl
Введите эту команду если используете bash шелл:
export TCL_LIBRARY=$HOME/local/lib/tcl8.5

Если используете csh шелл:
setenv TCL_LIBRARY $HOME/local/lib/tcl8.5



Установка tcllib.
Если вы не знаете что такое tcllib вам это возможно и не пригодится. Для тех, кто знает что это такое, вот небольшая инструкция по его локальной установке.

Для начала, убедимся, что мы находимся в домашней директории:
cd


Скачиваем архив:

Следующим шагом распаковвываем скаченный архив:
tar -xfz tcllib-1.12.tar.gz


Если в ответ на эту команду вы получите ошибку
tar: Error is not recoverable: exiting now


то используйте команду
tar zxvf tcllib-1.12.tar.gz


Заходим в распакованную директорию:
cd tcllib-1.12


Запускаем конфигурационный скрипт указывая место для установки то, куда мы ранее установили TCL:
./configure --prefix=$HOME/local

Устанавливаем:
make install


Все готово.
Вольный перевод статьи http://eggwiki.org/Local_Tcl