--/--/-- (--)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
2010/06/30 (水)
zshとかvimをホームディレクトリにインストールする方法は
http://tochiii.blog119.fc2.com/blog-entry-225.html
http://tochiii.blog119.fc2.com/blog-entry-224.html
とかで説明したけど、たまに以下のようなエラーを吐くことがある。

% ./configure ...
...
configure: error: "No terminal handling library was found on your system.
This is probably a library called 'curses' or 'ncurses'. You may
need to install a package called 'curses-devel' or 'ncurses-devel' on your
system."
See `config.log' for more details.

とか

checking for tgetent()... configure: error: NOT FOUND!
You need to install a terminal library; for example ncurses.
Or specify the name of the library with --with-tlib.
make[1]: *** [config] Error 1
make[1]: Leaving directory `/h/sgovinda/tmp/vim72/src'
make: *** [first] Error 2

である。
どういうことかというと

「ターミナルを制御するライブラリがないよー!エラー!」

と言っているのである。

ターミナルの制御には一般的にcursesとかncursesと呼ばれるものが使われる。
UNIX系システムで端末を制御するためのAPIを提供しているライブラリである。

zshやvimは内部でこういった端末制御のAPIを使用しているので、ncurses等がないとコンパイル時にエラーになってインストールできないのだ。

すなわち、このエラーを回避するにはncursesをインストールしてやれば良いのだ!

% wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.7.tar.gz
% mkdir local
% mkdir src
% cd src
% tar zxvf ncurses-5.7.tar.gz
% cd ncurses-5.7
% ./configure --prefix=$HOME/local
% make
% make install

今回は~/localにインストールしたがホームのどこにインストールしてもかまわない。

ところで、ncursesが首尾よくインストールできたとしても、vimやzshのインストール時にそのncursesを参照するように指定しなければならない。

なんか「ncursesはroot権限でインストールしないと駄目ですよ」みたいな事を平気でブログとか掲示板に書いてる人々がいるけど、決してそんなことはない。
zshとかvimをインストールするときに、参照するライブラリパスを追加してやれば良いのだ。

以下の環境変数を定義してやればインストールできるようになるはず。
% export CPPFLAGS="-I$HOME/local/include"
% export LDFLAGS="-L$HOME/local/lib"

これは、
% ./configure --help
で詳細を見ることができると思う。

ちなみに、vimのインストールには上記の環境変数を定義する以外にも
--with-local-dir=$HOME/local
オプションを追加してやることで参照するライブラリパスを変更できる。

こういったことは、manとか--helpを普段から使用しているユーザにしかわからない。
最近のLinuxユーザはわからないことがあるとすぐにググって解決しようとするけど、まずはmanコマンドとか--helpオプションで詳細を調べるクセをつけるべきだと思う。

普段からmanとか--helpを使っていると、普遍的なオプションのルールみたいなものが良くわかってくるし、新しい発見も多い。

で、そのうち、zshの補完機能で未知のオプションを指定するようになると、それはもう立派なzsh信者である
スポンサーサイト
2010/06/22 (火)
http://ja.wikipedia.org/wiki/DDR3_SDRAM
↑ココなんだけど。

いや、たまたまDDR3コントローラの仕様を調べていたら発見した。

本気過ぎるwww
Wikipediaの内容を信じる信じないは別としても、ステートマシンとかタイミングチャートの図もあるしw

どこの関係者だよ、おい、暇人。
しかも日本語っていうw

調べてみると、なんか、謀巨大掲示板とかでもDDR3の項がヤバいって話題になってたらしい。

そりゃそうだよな、ここまで本気のWikipediaを見たことがなかった。
すげーよWikipedia
2010/06/18 (金)
zshがないと生きていけない、そんなあなたに

% cd ~
% mkdir local
% mkdir local/zsh-4.3.10
% mkdir src
% cd src
% wget http://www.zsh.org/pub/zsh-4.3.10.tar.gz
% tar zxvf zsh-4.3.10.tar.gz
% cd zsh-4.3.10
% ./configure --prefix=$HOME/local/zsh-4.3.10
% make
% make install


ついでにscreenをインストール
古いと縦分割ができない

% cd ~ % mkdir local/screen403
% cd src
% wget ftp://www.dekaino.net/pub/screen/screen-4.0.3.tar.gz
% tar zxvf screen-4.0.3.tar.gz
% cd screen-4.0.3
% ./configure --prefix=$HOME/local/screen403
% make
% make install


emacsも書いておくか

% cd ~
% mkdir local/emacs232
% cd ~/src
% wget ftp://ftp.ring.gr.jp/pub/GNU/emacs/emacs-23.2.tar.bz2
% tar jxvf emacs-23.2.tar.bz2
% ./configure --prefix=$HOME/local/emacs232
% make
% make install
2010/06/18 (金)
外部のサーバにログインして最新版の拡張されたvimを使いたいのだけど、インストールされていない。
ルート権限は持ってないので、yumとかapt-getとか使えない。

そんなときは、自分のディレクトリにインストールすればよい。

vimのソースをダウンロードしてきて自分でコンパイルする。
そいつを、自分のディレクトリにインストールすればルート権限は必要ない。

まずは作業ディレクトリとインストールディレクトリを作っておく。
cd ~
mkdir src
mkdir local
cd local
mkdir vim72
cd ~
cd src
mkdir patch

vimのソースをダウンロード

wget ftp://ftp.jp.vim.org/pub/vim/unix/vim-7.2.tar.bz2
wget ftp://ftp.jp.vim.org/pub/vim/extra/vim-7.2-extra.tar.gz
wget ftp://ftp.jp.vim.org/pub/vim/extra/vim-7.2-lang.tar.gz

パッチもDL
wget ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.001-100.gz
wget ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.101-200.gz
wget ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.201-300.gz
wget ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.301-400.gz
wget ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.{401..444}
(curl -O "ftp://ftp.jp.vim.org/pub/vim/patches/7.2/7.2.[401-444]")

上記は2010-06-18現在のバージョンとパッチ

ちなみに本体は
svn co https://vim.svn.sourceforge.net/svnroot/vim/vim7
でsvnでパッチが当てられたものを持ってくることもできるが、最新かどうかは保証できない。らしい。

で、tarコマンドか何かで解凍する。
tar jxvf vim-7.2.tar.bz2
tar zxvf vim-extra-7.2.tar.gz
tar zxvf vim-lang-7.2.tar.gz

さらにパッチをあてる

cd vim72
cat ../patches/* | patch -p0

インストール
オプションを以下のように指定すると、perlとかpythonの拡張が使えてpluginなどもほとんど動くようになる
他にもオプションはたくさんある。
こういうときzsh使ってるとしみじみ便利だと思う。

./configure --prefix=/home/ユーザ名/local/vim72 \
--enable-xim \
--enable-fontset \
--enable-multibyte \
--with-features=big \
--enable-perlinterp \
--enable-pythoninterp \
--enable-rubyinterp

make
make install

ホームディレクトリ/local/vim72/binに実行ファイルが作成されているはず。
そいつにaliasをつなげるかPATHを通すかする。
2010/06/14 (月)
ふつうにシェルを使用していてlessとかviを起動すると、
開く前の画面状態を覚えておいて、それを終了すると元の画面に戻すという機能が働くと思う。
これはalternate screen bufferという機能が働くからだ。
このとき環境変数TERMにはxterm-colorが入ってたりする。

screenを使ってると、この機能が無効になる場合がある。

.screenrcに

altscreen on

を書くと、もとの画面が戻ってくるようになる。
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。