Hatena::ブログ(Diary)

yoshiringの日記

2010年06月08日

[][] Ubuntu8.04 で Django1.2.1 を使う為に色々と(1)


Ubuntuのバージョン確認

$ cat /etc/lsb-release
DISTRIB_RELEASE=8.04

PIL用ライブラリzlib/zlib-develのインストール

//yumコマンドを実行すると以下のエラーが発生
$ yum
There was a problem importing one of the Python modules
required to run yum. The error leading to this problem was:

   No module named cElementTree

Please install a package which provides this module, or
verify that the module is installed correctly.

It's possible that the above module doesn't match the
current version of Python, which is:
2.5.2 (r252:60911, Jan 20 2010, 21:48:48)
[GCC 4.2.4 (Ubuntu 4.2.4-1ubuntu3)]

If you cannot solve this problem yourself, please send this
message to <yum@lists.linux.duke.edu>.

//エラーメッセージに従いcElementTreeをインストール
$ cd ~/download wget http://effbot.org/media/downloads/cElementTree-1.0.5-20051216.tar.gz
$ tar zxvf cElementTree-1.0.5-20051216.tar.gz
$ cd cElementTree-1.0.5-20051216
$ sudo python setup.py install

//zlibをインストールすると警告が…
# yum install zlib
Warning, could not load sqlite, falling back to pickle
Setting up Install Process
Setting up repositories
No Repositories Available to Set Up
Reading repository metadata in from local files
Parsing package install arguments
No Match for argument: zlib
Nothing to do

以下のサイトを参考にし、pysqliteが入っていないのが問題かと仮説を立てる

Warning, could not load sqlite, falling back to pickle

pysqliteのインストール

$ wget http://pysqlite.googlecode.com/files/pysqlite-2.6.0.tar.gz
$ tar zxvf pysqlite-2.6.0.tar.gz
$ cd pysqlite-2.6.0
# vi setup.cfg
以下の様に修正
include_dirs=/usr/include
library_dirs=/usr/lib
# python setup.py build

//エラー発生
gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -DMODULE_NAME="pysqlite2.dbapi2" -DSQLITE_OMIT_LOAD_EXTENSION=1 -I/usr/include -I/usr/include/python2.5 -c src/module.c -o build/temp.linux-i686-2.5/src/module.o
In file included from src/module.c:24:
src/connection.h:33:21: error: sqlite3.h: No such file or directory
In file included from src/module.c:24:
src/connection.h:38: error: expected specifier-qualifier-list before 'sqlite3'
In file included from src/module.c:25:
src/statement.h:37: error: expected specifier-qualifier-list before 'sqlite3'
src/module.c: In function 'module_complete':
src/module.c:99: warning: implicit declaration of function 'sqlite3_complete'
src/module.c: At top level:
src/module.c:265: error: 'SQLITE_OK' undeclared here (not in a function)
src/module.c:266: error: 'SQLITE_DENY' undeclared here (not in a function)
src/module.c:267: error: 'SQLITE_IGNORE' undeclared here (not in a function)
src/module.c:268: error: 'SQLITE_CREATE_INDEX' undeclared here (not in a function)
src/module.c:269: error: 'SQLITE_CREATE_TABLE' undeclared here (not in a function)
src/module.c:270: error: 'SQLITE_CREATE_TEMP_INDEX' undeclared here (not in a function)
src/module.c:271: error: 'SQLITE_CREATE_TEMP_TABLE' undeclared here (not in a function)
src/module.c:272: error: 'SQLITE_CREATE_TEMP_TRIGGER' undeclared here (not in a function)
src/module.c:273: error: 'SQLITE_CREATE_TEMP_VIEW' undeclared here (not in a function)
src/module.c:274: error: 'SQLITE_CREATE_TRIGGER' undeclared here (not in a function)
src/module.c:275: error: 'SQLITE_CREATE_VIEW' undeclared here (not in a function)
src/module.c:276: error: 'SQLITE_DELETE' undeclared here (not in a function)
src/module.c:277: error: 'SQLITE_DROP_INDEX' undeclared here (not in a function)
src/module.c:278: error: 'SQLITE_DROP_TABLE' undeclared here (not in a function)
src/module.c:279: error: 'SQLITE_DROP_TEMP_INDEX' undeclared here (not in a function)
src/module.c:280: error: 'SQLITE_DROP_TEMP_TABLE' undeclared here (not in a function)
src/module.c:281: error: 'SQLITE_DROP_TEMP_TRIGGER' undeclared here (not in a function)
src/module.c:282: error: 'SQLITE_DROP_TEMP_VIEW' undeclared here (not in a function)
src/module.c:283: error: 'SQLITE_DROP_TRIGGER' undeclared here (not in a function)
src/module.c:284: error: 'SQLITE_DROP_VIEW' undeclared here (not in a function)
src/module.c:285: error: 'SQLITE_INSERT' undeclared here (not in a function)
src/module.c:286: error: 'SQLITE_PRAGMA' undeclared here (not in a function)
src/module.c:287: error: 'SQLITE_READ' undeclared here (not in a function)
src/module.c:288: error: 'SQLITE_SELECT' undeclared here (not in a function)
src/module.c:289: error: 'SQLITE_TRANSACTION' undeclared here (not in a function)
src/module.c:290: error: 'SQLITE_UPDATE' undeclared here (not in a function)
src/module.c:291: error: 'SQLITE_ATTACH' undeclared here (not in a function)
src/module.c:292: error: 'SQLITE_DETACH' undeclared here (not in a function)
src/module.c: In function 'init_sqlite':
src/module.c:419: warning: implicit declaration of function 'sqlite3_libversion'
src/module.c:419: warning: passing argument 1 of 'PyString_FromString' makes pointer from integer without a cast
error: command 'gcc' failed with exit status 1

sqlite3がpython2.5と同一path上にインストールされている必要があるとの事

はまったところ/pysqliteのインストール


sqlite3の再インストール

//インストールディレクトリの確認
# find / -name "sqlite"
/usr/bin/sqlite3

//アンインストール
# rm -rf sqlite*

//sqlite3のインストール
$ wget http://www.sqlite.org/sqlite-3.5.9.tar.gz
$ tar xvzf sqlite-3.5.9.tar.gz
$ cd sqlite-3.5.9
# ./configure --prefix=/usr/lib     """pythonの入ったディレクトリを指定"""
# make
# make install
# make clean

//インストール確認
$ which sqlite
$ which sqlite3

//入っていない…?
# find / -regex "*sqlite*"

//apt-getでインストール
# apt-get install sqlite3
Reading package lists... Done
Building dependency tree
Reading state information... Done
sqlite3 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 41 not upgraded.

//バージョン管理がおかしくなったか?
// Synapticを起動してみると次のエラーが表示される
W: Duplicate sources.list entry http://security.ubuntu.com hardy-security/main Packages (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_hardy-security_main_binary-i386_Packages)

W: Duplicate sources.list entry http://security.ubuntu.com hardy-security/universe Packages (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_hardy-security_universe_binary-i386_Packages)

//アンインストール
# apt-get remove sqlite3
Removing sqlite3 ...
W: Duplicate sources.list entry http://security.ubuntu.com hardy-security/main Packages (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_hardy-security_main_binary-i386_Packages)
W: Duplicate sources.list entry http://security.ubuntu.com hardy-security/universe Packages (/var/lib/apt/lists/security.ubuntu.com_ubuntu_dists_hardy-security_universe_binary-i386_Packages)
W: You may want to run apt-get update to correct these problems
# apt-get update

//インストール
# apt-get install sqlite3
$ sqlite3
SQLite version 3.4.2
Enter ".help" for instructions
sqlite>
// ようやく元に戻った…が

libsqlite3-devが必要だったのか

http://www.linuxquestions.org/questions/linux-software-2/error-sqlite3-h-no-such-file-or-directory-771732/

pysqliteを今一度インストール

//libsqlite3-devのインストール
# apt-get install libsqlite3-dev
$ cd pysqlite-2.6.0
# vi setup.cfg
以下の様に修正
include_dirs=/usr/include
library_dirs=/usr/lib
# python setup.py build
# python setup.py install

//インストール確認
# python
>>> import sys
>>> sys.path.append('/usr/lib/python2.5/site-packages/')
>>> import pysqlite2
//エラーが出なければOK

JavaScriptライブラリjQueryの使用

//ダウンロード
$ wget http://code.jquery.com/jquery-1.4.2.min.js
//Djangoプロジェクト直下に配置
$ mv jquery-1.4.2.min.js ~/path/to/project/templates/static/js/

//JGrowlプラグインも利用
$ wget http://plugins.jquery.com/files/jGrowl-1.2.4.zip
$ unzip jGrowl-1.2.4.zip
$ mv jquery.jgrowl.css ~/path/to/project/templates/static/styles/
$ mv jquery.jgrowl.js ~/w*/manoush/templates/static/js/

2010年06月04日

[][] お名前.comのVPS01でDjango

yumインストール

$ wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/m2crypto-0.16-6.el5.6.x86_64.rpm
$ wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-elementtree-1.2.6-5.x86_64.rpm
$ wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/yum-metadata-parser-1.1.2-3.el5.centos.x86_64.rpm
$ wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-iniparse-0.2.3-4.el5.noarch.rpm
$ wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-sqlite-1.1.7-1.2.1.x86_64.rpm
$ wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/python-urlgrabber-3.1.0-5.el5.noarch.rpm
$ wget http://ftp.iij.ad.jp/pub/linux/centos/5/os/x86_64/CentOS/yum-3.2.22-26.el5.centos.noarch.rpm
$ wget http://ftp.iij.ad.jp/pub/linux/ceentos/5/os/x86_64/CentOS/yum-fastestmirror-1.1.16-13.el5.centos.noarch.rpm

# rpm -ivh m2crypto-0.16-6.el5.6.x86_64.rpm
# rpm -ivh python-elementtree-1.2.6-5.x86_64.rpm
# rpm -ivh yum-metadata-parser-1.1.2-3.el5. centos.x86_64.rpm
# rpm -ivh python-urlgrabber-3.1.0-5.el5.noarch.rpm
# rpm -ivh python-iniparse-0.2.3-4.el5.noarch.rpm
# rpm -ivh python-sqlite-1.1.7-1.2.1.x86_64.rpm
# rpm --import http://mirror.centos.org/centos-5/5.3/o s/i386/RPM-GPG-KEY-CentOS-5
# rpm -ivh yum-3.2.22-26.el5.centos.noarch.rpm yum-fasttestmirror-1.1.16-14.el5.centos.noarch.rpm

Python2.5とDjangoインストール

wget http://python.org/ftp/python/2.5.2/Python-2.5.2 .tgz
tar xvfz Python-2.5.2.tgz
cd Python-2.5.2
./configure --prefix=/opt/python2.5 --with-threa ds --enable-shared
vi ./Modules/Setup
make
make install
vi opt-python2.5.conf
/sbin/ldconfig
ln -s /opt/python2.5/bin/python /usr/bin/python2.5
wget http://pypi.python.org/packages/2.5/s/setuptool s/setuptools-0.6c9-py2.5.egg
sh setuptools-0.6c11-py2.5.egg --prefix=/opt/python2 .5
curl -O http://peak.telecommunity.com/dist/ez_se tup.py
easy_install Django

パス周り

$ vi .bash_profile
--- PATH=$PATH:$HOME/bin
+++ PATH=$PATH:$HOME/bin:/opt/python2.5/bin/
$ vi .bashrc
+++ alias python='python2.5'
$ source ~/.bash_profile
$ source ~/.bashrc

Djangoのバージョン確認

django-admin.py --version
1.2.1

デプロイ

# httpd -v
Server version: Apache/2.2.3
Server built:   Oct 14 2009 20:27:59
cd etc
$ find . -name httpd.conf -print
./httpd/conf/httpd.conf

//mod_pythonのインストール
# yum -y install httpd-devel
# cd DOWNLOAD_DIR
# wget http://ftp.kddilabs.jp/infosystems/apache/httpd/modpython/mod_python-3.3.1.tgz
# tar xfz mod_python-3.3.1.tgz
# cd mod_python-3.3.1
# ./configure --with-python=/opt/python2.5/bin/python2.5 --with-apxs=/usr/sbin/apxs
# make
# make install

//Django+mod_python
# chown stamp109.com /var/www/vhosts/stamp109.com/httpdocs
$ cd /var/www/vhosts/stamp109.com/httpdocs
$ django-admin.py startapp polls #Djangoチュートリアルアプリ作成
# vi /etc/httpd/conf.d/python.conf
LoadModule python_module modules/mod_python.so
<Location "/stamprally/">
    SetHandler python-program
    PythonPath "['/var/www/vhosts/mydomain/httpdocs']+sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv PYTHON_EGG_CACHE /var/www/vhosts/mydomain/httpdocs/stamprally/.python-eggs 
    SetEnv DJANGO_SETTINGS_MODULE stamprally.settings
    PythonDebug On
</Location>

# vi /etc/httpd/conf/httpd.conf
<Location "/stamprally/">
    SetHandler python-program
    PythonPath "['/var/www/html/']+sys.path"
    PythonHandler django.core.handlers.modpython
    SetEnv DJANGO_SETTINGS_MODULE stamprally.settings
    PythonOption django.root /stamprally
    PythonDebug On
    PythonPath "['/var/www/vhosts/mydomain/httpdocs'] + sys.path"
</Location>
# /sbin/service httpd configtest
# /sbin/service httpd restart

画像ライブラリPILのインストール

# wget http://effbot.org/downloads/Imaging-1.1.7.tar.gz
# tar zxvf Imaging-1.1.7.tar.gz
# cd Imaging-1.1.7
# /opt/python2.5/bin/python setup.py build
# /opt/python2.5/bin/python setup.py install
//必要なライブラリの追加
# yum install libjpeg
# yum install libjpeg-devel
# yum install zlib       
# yum install zlib-devel 

デプロイの続き

ここでブラウザからアクセスするとmod_pythonのエラー
ImportError: No module named django.core.handlers.modpython

シンボリックリンクを作成してみる
# ln -s django /opt/python2.5/lib/python2.5/site-packages

エラーが変わった
SystemError: NULL result without error in PyObject_Call

# chmod a+x /var/www/vhosts/mydomain/httpdocs/

pysqliteのインストール

//pysqliteのインストール
# /opt/python2.5/bin/easy_install pysqlite
エラー発生:command 'gcc' failed with exit status

//gccのインストール
# yum install gcc

//再度pysqliteのインストール
# /opt/python2.5/bin/easy_install pysqlite
エラー発生:/usr/bin/ld: cannot find -lpython2.5

//ソースからpysqliteをインストール
# wget http://pysqlite.googlecode.com/files/pysqlite-2.6.0.tar.gz
# tar xvzf pysqlite-2.6.0.tar.gz
# cd pysqlite-2.6.0
# vi setup.cfg
以下の様に修正
include_dirs=/opt/python2.5
librarly_dirs=/opt/python2.5/lib
# /opt/python2.5/bin/python setup.py build
# /opt/python2.5/bin/python setup.py install --prefix=/opt/python2.5

//インストール完了の確認
# /opt/python2.5/bin/python
>>> import sys
>>> sys.path.append('/opt/python2.5/lib/python2.5/site-packages/')
>>> import pysqlite2
Apacheを再起動してブラウザからアクセスするとエラーが変わった
DatabaseError: unable to open database file

データベースファイルの親ディレクトリのパーミッションを変更すると、画面にアクセスできました☆
http://www.mail-archive.com/django-users@googlegroups.com/msg16740.html
References
  1. お名前.comのVPSサーバを使うまで
  2. お名前.com の VPS の CentOS5.3 に、Python 2.6.4 と Django 1.1.1 と、mod_wsgi を設定した覚え書き
  3. yumを間違って削除しちゃった場合の手順
  4. CentOS5.3にPython2.6でDjango1.1の開発環境を作成する
  5. パス(PATH)の確認と設定方法は?
  6. Apache と mod_python で Django を動かす
  7. mod_python のインストール
  8. CentOS5にpython2.6+Django+mod_python+色々の環境を整える
  9. PIL(Python Image Library)の導入
  10. CentOS に Django をデプロイ - with python2.6, mod_python
  11. はまったところ/pysqliteのインストール

2010年05月01日

[] CentOS インストール & 初期設定 & Python 開発環境構築メモ

Win7 のゲスト OS として、CentOS5 を VirtualBoxにインストールし、PythonDjango 開発環境を作成するまでのメモ。


CentOS を VirtualBox にインストール

ディスプレイ設定を ACER ASPIRE 1410 に合わせる

# system-config-display
ディスプレイ設定 > ハードウェアタブ > モニタータイプの設定 > Generic LCD Display > LCD Panel 1360x768 > OK > モニター設定タブ > 解像度1024x768 > OK
# shutdown -r now
※横は 1366 まで拡げたい、縦はもう少し縮めたいが…

サーバのホスト名を変更(←要調査)

# vi /etc/hosts
192.168.56.101 myhost.domain.jp myhost
127.0.0.1 localhost.localdomain localhost

# vi /etc/sysconfig/network
HOSTNAME=myhost.domain.jp

# vi /etc/hosts.allow
ALL : 127.0.0.1
sshd : ALL

# /etc/rc.d/init.d/network restart

SSH の設定

Apache の起動と自動起動設定

# httpd -v
Server version: Apache/2.2.3
# /etc/rc.d/init.d/httpd start
# chkconfig httpd on

httpd-devel のインストール

# yum -y install httpd-devel

Python のバージョン確認

$ python -V
Python 2.4.3

GCCインストール

# yum -y install gcc

mod_pythonインストール

http://httpd.apache.org/modules/python-download.cgi から mod_python-3.3.1.tgz をダウンロード
$ cd /tmp
$ tar xfz mod_python-3.3.1.tgz
$ cd /tmp/mod_python-3.3.1
$ ./configure --with-apxs=/usr/sbin/apxs
$ make // ここでエラーが発生(←要調査)

Djangoインストール

http://www.djangoproject.com/download/ から Django-1.1.1.tar.gz. をダウンロード
/tmp 配下に展開
cd /tmp/Django-1.1.1
# python setup.py install

eclipse のインストール

http://www.eclipse.org/downloads/ から Eclipse Classic 3.5.2 (163 MB) をダウンロード
eclipse-SDK-3.5.2-linux-gtk-x86_64.tar.gz を /home/yoshiring 配下に展開
~/eclipse -clean で eclipse の起動
References
  1. VirtualBox+CentOS+解像度設定
  2. 「Apache」の設定
  3. ■WebDAV設定
  4. Linux Tips - configure: error: no acceptable C compiler found in $PATH -
  5. mod_python のインストール
  6. Mod_python Manual
  7. Django のインストール
  8. サーバのホスト名を変更する

2010年04月26日 [linux] LFS on Ubuntu(6) 一時的環境の構築 (Expect-5.43.0 〜) このエントリーを含むブックマーク

Expect の解凍

tar zxvf expect-5.43.0.tar.gz
cd expect-5.43

バグフィックス

// GCC のテストスイートの失敗を回避
patch -Np1 -i ../expect-5.43.0-spawn-1.patch

// Tcl の最近の変更に対応
patch -Np1 -i ../expect-5.43.0-tcl_8.5.5_fix-1.patch

Expect の configure スクリプトが、ホストシステムの /usr/local/bin/stty ではなく、 /bin/stty を利用するように修正

cp -v configure{,.orig}
sed 's:/usr/local/bin:/bin:' configure.orig > configure

Expect をコンパイルするための準備

./configure --prefix=/tools --with-tcl=/tools/lib \
  --with-tclinclude=/tools/include --with-x=no

Expect のインストール

make
make test
make SCRIPTS="" install

DejaGNU のインストール

tar zxvf dejagnu-1.4.4.tar.gz
cd dejagnu-1.4.4
./configure --prefix=/tools
make install
make check

Ncurses のインストール

tar zxvf ncurses-5.7.tar.gz
cd ncurses-5.7
./configure --prefix=/tools --with-shared \
    --without-debug --without-ada --enable-overwrite
make
make install

Bash のインストール

tar zxvf bash-4.1.tar.gz
./configure --prefix=/tools --without-bash-malloc
make
make tests
make install
ln -vs bash /tools/bin/sh

Bzip2 のインストール

tar zxvf bzip2-1.0.5.tar.gz
cd bzip2-1.0.5
make PREFIX=/tools install

Coreutils のインストール

tar zxvf coreutils-8.4.tar.gz
cd coreutils-8.4
./configure --prefix=/tools --enable-install-program=hostname
make
make install

別名ファイルを作り出して手動で su をインストールする

cp -v src/su /tools/bin/su-tools

Diffutils のインストール

tar zxvf diffutils-2.8.1.tar.gz
cd diffutils-2.8.1
./configure --prefix=/tools
make
make install
References
  1. Linux From Scratch - Version 6.5 第5章 一時的環境の構築

2010年04月25日

[] LFS on Ubuntu(5) 一時的環境の構築 (GCC-4.4.3 - 2回目〜)

部分的に GCC の古い機能を復活させるパッチを適用

$ cd $LFS/sources/gcc-4.4.3
$ patch -Np1 -i ../gcc-4.4.3-startfiles_fix-1.patch

fixincludes スクリプトの実行を無効とする

$ cp -v gcc/Makefile.in{,.orig}
$ sed 's@\./fixinc\.sh@-c true@' gcc/Makefile.in.orig > gcc/Makefile.in

コンパイラフラグ -fomit-frame-pointer を有効化

$ cp -v gcc/Makefile.in{,.tmp}
$ sed 's/^T_CFLAGS =$/& -fomit-frame-pointer/' gcc/Makefile.in.tmp \
  > gcc/Makefile.in

すべての実行モジュール類を新しい Glibc に対してリンクする

$ cd gcc-4.4.3

for file in \
 $(find gcc/config -name linux64.h -o -name linux.h -o -name sysv4.h)
do
  cp -uv $file{,.orig}
  sed -e 's@/lib\(64\)\?\(32\)\?/ld@/tools&@g' \
  -e 's@/usr@/tools@g' $file.orig > $file
  echo '
#undef STANDARD_INCLUDE_DIR
#define STANDARD_INCLUDE_DIR 0
#define STANDARD_STARTFILE_PREFIX_1 ""
#define STANDARD_STARTFILE_PREFIX_2 ""' >> $file
  touch $file.orig
done

GCCインストール

$ rm -rf gcc-build
$ tar -jxf mpfr-2.4.2.tar.bz2
$ mv -v mpfr-2.4.2 ./gcc-4.4.3/mpfr
$ tar -jxf gmp-5.0.0.tar.bz2
$ mv -v gmp-5.0.0 ./gcc-4.4.3/gmp
$ mkdir -v gcc-build
$ cd gcc-build
$ CC="$LFS_TGT-gcc -B/tools/lib/" \
    AR=$LFS_TGT-ar RANLIB=$LFS_TGT-ranlib \
    ../gcc-4.4.3/configure --prefix=/tools \
    --with-local-prefix=/tools --enable-clocale=gnu \
    --enable-shared --enable-threads=posix \
    --enable-__cxa_atexit --enable-languages=c,c++ \
    --disable-libstdcxx-pch --disable-multilib \
    --disable-bootstrap
$ make
// 超長い(笑)
$ make install

シンボリックリンクの作成

$ ln -vs gcc /tools/bin/cc

健全性検査 (sanity check)

echo 'main(){}' > dummy.c
cc dummy.c
readelf -l a.out | grep ': /tools'

テストファイルの削除

rm -v dummy.c a.out

Tcl のインストール

$ tar zxvf tcl8.5.8-src.tar.gz
$ cd tcl8.5.8/unix
$ ./configure --prefix=/tools
$ make

// テストスイート
$ TZ=UTC make test

$ make install

インストールされたライブラリを書き込み可能にし、後でデバッグシンボルを削除できるようにする

chmod -v u+w /tools/lib/libtcl8.5.so

Tcl のヘッダファイルをインストール

make install-private-headers

必要となるシンボリックリンクを生成

ln -sv tclsh8.5 /tools/bin/tclsh
References
  1. Linux From Scratch - Version 6.5 第5章 一時的環境の構築