2012年12月23日日曜日

GTK - gtk-config と pkg-config

GTK1.2 くらいだとgtk-config を使ってコンパイルするのだけれど、GTK2.0になると pkg-config というものを使ってコンパイルする。コンパイルする時のライブラリ指定などで違いが出てくる。

ネット上でGTKのプログラミングについて説明しているページがあったので、参考にしながらプログラミング・コンパイルをしていたらなぜかエラーが出る。。。と言うことになって焦った。

GTKの最新バージョンでは pkg-config を使う。と覚えておこう。

2012年10月13日土曜日

HTMLでのソースコード表示

HTMLでソースコードを表示させるときのスタイルは

pre {
    padding : 8px ;
    border : 1px solid #9cc ;
    background-color : #dee ;
}

code {
    font-family : "Courier New", monospace ;
}
である。


また、このスタイルの使い方は

<pre><code>
function addressBar(go) {
    if(go.url.value != "") {
        location.href = go.url.value
    } else {
        confirm("URLが入力されていません")
    }
}
</code></pre>
である。



参考文献:Web標準の教科書(ISBN4-7980-1092-8)

2012年10月9日火曜日

Debian に apache2.4 をソースコードからインストール

まずは、Apache APRをインストールする。http://apr.apache.org/ から apr-1.4.6.tar.bz2 をダウンロードする。そして
$ tar jxvf apr-1.4.6.tar.bz2
$ cd apr-1.4.6
$ ./configure
$ make
# make install
を実行する。


さらに、Apache APR-Utilをインストールする必要があるので、http://apr.apache.org/ から apr-util-1.5.1.tar.bz2 をダウンロードして、以下のコマンドを実行。
$ tar jxvf apr-util-1.5.1.tar.bz2
$ cd apr-util-1.5.1
$ ./configure --with-apr=/usr/local/apr
$ make
# make install


つぎに、PCRE(Perl Compatible Regular Expressions)をインストールする。ソースファイルはhttp://www.pcre.org/ からダウンロードする。今回は pcre-8.31.tar.bz2 をダウンロードした。そして、以下のコマンドを実行。
$ tar jxvf pcre-8.31.tar.bz2
$ cd pcre-8.31
$ ./configure
$ make
# make install


以上の下準備が終わったら、アパッチ2.4のソースコードをhttp://httpd.apache.org/からダウンロードしてくる。今回は httpd-2.4.3.tar.bz2 をダウンロード。そして、以下のコマンドを実行。
$ tar jxvf httpd-2.4.3.tar.bz2
$ cd httpd-2.4.3
$ ./configure
$ make
# make install


Notes:
apachectl を起動させようとすると、 libpcre.so がないと文句を言ってきたので、
# apt-get install libpcre3-dev
を実行して、黙らせる。

2012年10月3日水曜日

HTML4.0 入門(HTML文書の全体構造)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<HTML>
   <HEAD>
      <TITLE>はじめてのHTML文書</TITLE>
   </HEAD>
   <BODY>
      <P>Hello world!
   </BODY>
</HTML>

2012年10月1日月曜日

HTML4.0 入門(適合条件: 必須事項と推奨事項)

HTML文書のMIMEタイプは次の通り定義される。

Content type name: text
Content subtype name: html
必要なパラメータ: なし
オプションのパラメータ: charset
符号化事項: どのように符号化してもよい
セキュリティ事項: ユーザエージェントはユーザが明示的に送信を求めたファイル以外のものは送ってはならない。

MIMEタイプは大文字小文字を区別しない。



参考サイト:
HTML 4.01 Specification(http://www.w3.org/TR/1999/REC-html401-19991224/)
HTML 4.01 仕様書邦訳概説(http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/index.html)

HTML4.0 入門 (HTML DTDの読み方)

DTDでのコメントは前後を -- で覆う。例えば、
<!ELEMENT PARAM -O EMPTY        -- named property value -->
のように。ここでは "named property value" がコメント。


HTML DTD にはパラメータ実体定義というのがある。それは以下の引用のようなことを表す。
HTML DTDは、一連のパラメータ実体定義で開始される。 パラメータ実体定義は、DTDの他の箇所で参照され展開される一種のマクロを定義する。 このマクロは、DTDにのみ出現可能であり、HTML文書には出現し得ない。
DTDにおいてパラメータ実体が名前で参照されるとパラメータ実体は文字列へと展開される。

パラメータ実体の書き方を引用すると、
パラメータ実体の定義は、「<!ENTITY %」というキーワードで始まり、この後に実体名と、引用符で囲った展開された際の文字列とが続き、最後に「>」で閉じられる。 DTD中のパラメータ実体インスタンスは「%」で始まり、パラメータ実体名が続き、「;」で閉じられる。「;」は省略され得る。
ということである。つまり例えをあげると、
<!ENTITY % fontstyle "TT | I | B | BIG | SMALL">
と言う感じの記述である。



HTML DTD の大部分は要素型およびその属性の宣言で構成され、それはキーワード <!ELEMENT で宣言が始まり、 > で宣言が終わる。このキーワードで挟まれる部分の定義を引用すると
  1. 要素名。
  2. 要素のタグが省略可能であるかどうか。 要素名の次に2つのハイフンが現れていれば、これは開始タグも終了タグも共に必須であることを意味する。1つのハイフンの後に大文字Oがあるという組み合わせの場合、終了タグが省略可能であることを意味する。大文字Oが2つだった場合、開始タグと終了タグの両方が省略可能である。
  3. 内容がある要素の場合、その内容。ある要素において許容される内容は、内容モデルと呼ばれる。 内容を持たないよう設計された要素は、空要素と呼ばれる。 空である要素型の内容モデルは、「EMPTY」というキーワードを用いて宣言される。



DTDの属性宣言はキーワード <!ATTLIST である要素が取り得る属性の宣言が始まる。その後に、対象となる要素の名称と属性定義リストが続き、 > で宣言が終了する。各属性定義を引用すると、

  • 属性の名称。
  • 属性の値の型、あるいは可能な値の明示的集合。 DTDで明示的に定義される値には、大文字小文字の区別はない。 属性値の型については、基本HTMLデータの形式の項を参照のこと。
  • 属性の値が、デフォルトで暗示的に存在する (キーワード「#IMPLIED」で示される)のか、常に著者による指定が要求される (キーワード「#REQUIRED」で示される)のか、所定の値に固定される (キーワード「#FIXED」で示される)のかの区別。 「#IMPLIED」の場合、ユーザエージェントはデフォルト値を供給しなければならない。暗示的デフォルト値は親要素から継承される場合もある。 キーワード以外に、デフォルト値が明示的に定められている属性定義もある。

  • 属性の中にはブール変数のような役割を果たすものがある。ある要素の開始タグにブール変数のような役割を果たす属性が存在した場合、属性の値が真であることが示される。また、存在しない場合は値が偽であると判断される。

    2012年9月29日土曜日

    CPAN からモジュールをインストールする

    # perl -MCPAN -e shell
    cpan> install module-name
    


    最新の方法は App::cpanminus を先にインストールしてあれば、
    # cpanm module-name
    
    みたい。試してないけど。。。


    ・App::cpanminus のインストール
    # cpan App::cpanminus
    
    でApp::cpanminus をインストールできる。

    HTML4.0 入門 (HTMLで用いられるSGML構成素)

    HTMLの要素型宣言はどれも開始タグ、内容、終了タグからなる。
    開始タグは <element-name> と記述され、終了タグは </element-name> と記述される。
    開始タグと終了タグとを対にしなければならないかはHTML DTD に記述されている。
    HTML DTDは、すべての要素型について、開始タグと終了タグが必須であるかどうかを示している。
    また、内容(要素型宣言の内容のこと)が存在しないタグは終了タグを絶対持たない。

    要素名を記述するときに大文字小文字の区別はないので、すべて小文字で書くとかすべて大文字で書くといったこともできる。

    ここで要素とタグに関しての注意を引用すると
    要素はタグではない。 例えば「Pタグ」といった具合に、要素のことをタグという人もいる。しかし、要素は要素であり、タグはタグである(開始タグであれ終了タグであれ)、ということを覚えていただきたい。 例えば、開始HEADタグも終了HEADタグもマーク付け上不在であり得るが、それでもなおHEAD要素は常に存在する。
    とのこと。



    属性は値をとる。なお、1つの開始タグには複数の属性をとることができる。その時は各属性を空白で区切る必要がある。出現順序は自由に決められる。属性名は大文字小文字の区別もない。

    また、属性はデフォルトではシングルクォート( ' )かダブルクォート( " )で囲う必要がある。



    文字参照はHTML文書が含んでよい文字に対する、数値あるいは象徴名称である。文字参照は「&」で始まり「;」で終わる。



    HTML内でコメントを残したいときは <!-- と --> とでコメントを囲めばよい。注意しなければならないのはコメント内に -- のようにハイフンが連続する記述はできないということである。



    参考サイト:
    HTML 4.01 Specification(http://www.w3.org/TR/1999/REC-html401-19991224/)
    HTML 4.01 仕様書邦訳概説(http://www.asahi-net.or.jp/~sd5a-ucd/rec-html401j/index.html)

    CPAN から String::Random のインストール

    # cpan -i String::Random
    

    スーパーユーザでインストールをする必要がある。通常ユーザでインストールしてたのでうまくインストールできなかった。後でCPANからモジュールをインストールする方法をまとめておこうかな。


    なお、スーパーユーザでインストールしなかったら下記のようなエラーが出るだろう。
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ERROR: Can't create '/usr/local/man/man3'
    Do not have write permissions on '/usr/local/man/man3'
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    

    2012年9月17日月曜日

    Eclipseが故障して起動しなくなったときの対処法

    Eclipse が起動しなくなる一つの要因として、一時ファイル.snapが壊れているのが原因らしい。なので、.snapファイルを削除してあげればいい。つまり、
    $ rm workspace/.metadata/.plugins/org.eclipse.core.resources/.snap
    $ rm workspace/.metadata/.plugins/org.eclipse.core.resources/.projects/*/.*.snap
    
    を実行すればいい。


    参考URL:http://blog.imho.jp/2011/06/eclipse.html

    Google Mozc を GNU/Linux Debian にインストール

    公式サイト(http://code.google.com/p/mozc/)を参照してMozcのインストールを実行した。コマンドは以下の通り。
    # apt-get install g++ python libibus-dev 
    # apt-get install libssl-dev libdbus-1-dev 
    # apt-get install libglib2.0-dev subversion 
    # apt-get install devscripts debhelper libqt4-dev
    # apt-get install libzinnia-dev tegaki-zinnia-japanese
    # apt-get install libgtk2.0-dev libxcb-xfixes0-dev
    
    $ cd ~/
    $ svn co http://src.chromium.org/svn/trunk/tools/depot_tools
    $ export PATH="$PATH":`pwd`/depot_tools
    
    $ mkdir -p ~/src/mozc
    $ cd ~/src/mozc
    $ gclient config http://mozc.googlecode.com/svn/trunk/src
    $ gclient sync
    
    $ gclient sync
    
    $ cd ~/src/mozc/src
    $ python build_mozc.py gyp
    
    $ python build_mozc.py build_tools -c Release
    
    $ python build_mozc.py build -c Release unix/ibus/ibus.gyp:ibus_mozc \
    unix/emacs/emacs.gyp:mozc_emacs_helper \
    server/server.gyp:mozc_server \
    gui/gui.gyp:mozc_tool renderer/renderer.gyp:mozc_renderer
    
    
    Mozcの参考URL:http://code.google.com/p/mozc/wiki/LinuxBuildInstructions



    ・ibus_mozcでのエラーへの対処
    $ python build_mozc.py build -c Release unix/ibus/ibus.gyp:ibus_mozc
    
    を実行するとエラーが出る。ibusのバージョンが1.4.1以上でなければダメみたい。ibusのバージョンを確認するには
    $ ibus-daemon --version
    
    を実行する。 とりあえず、ibus1.4.1以上のものをインストールする必要があるので、http://code.google.com/p/ibus/から ibus-1.4.2.tar.gz をダウンロードする。また、GTK3.40以上が必要となるのでインストールしておくこと。GTK3.4.3のインストール方法はhttp://xpb8dqx.blogspot.jp/2012/09/gtk34.htmlを参考にする。以下はibus1.4.2のインストール。
    # apt-get install gnome-common
    # apt-get install gtk-doc-tools
    # apt-get install libgconf2-dev
    
    $ tar xzvf ibus-1.4.2.tar.gz
    $ cd ibus-1.4.2
    $ ./autogen.sh --prefix='/usr' --sysconfdir='/etc' \
                   --libdir='/usr/lib' --enable-gtk-doc
    $ make
    # make install
    
    ibusをインストールした後は一度Mozcディレクトリをクリーンアップしなければならないので、
    $ export PATH="$PATH":~/depot_tools
    $ python build_mozc.py clean 
    
    $ cd ~/src/mozc/src
    $ python build_mozc.py gyp
    $ python build_mozc.py build_tools -c Release
    
    を再度実行してから、もう一度Mozcのコンパイルを行う。

    ibusの参考URL:http://code.google.com/p/ibus/wiki/Install#Build_&_Install_IBus

    GTK+3.4 のインストール

    下準備としてGLib2.32, Pango1.30, Gdk-Pixbuf-2.26, ATK2.4をインストールしておく。
    下準備のインストールは以下を参考に行う。
    GLib2.32(http://xpb8dqx.blogspot.jp/2012/09/glib232.html)
    Pango1.30(http://xpb8dqx.blogspot.jp/2012/09/pango-130.html)
    Gdk-Pixbuf-2.26(http://xpb8dqx.blogspot.jp/2012/09/gdk-pixbuf.html)
    ATK2.4(http://xpb8dqx.blogspot.jp/2012/09/atk240.html)


    ・GTK+3.4のインストール
    公式サイト(http://www.gtk.org/)から gtk+-3.4.4.tar.xz をダウンロードする。それから以下のコマンドを実行する。
    $ tar Jxvf gtk+-3.4.4.tar.xz
    $ cd gtk+-3.4.4
    $ ./configure && make
    # make install
    

    Pango 1.30 のインストール

    Pango 1.30 をインストールする下準備として fontconfig、 freetype、 pixman、 cairo の順にインストールしていく。

    ・fontconfigのインストール
    公式サイト(http://www.freedesktop.org/wiki/Software/fontconfig)から fontconfig-2.10.1.tar.bz2 をダウンロードする。それから以下のコマンドを実行する。
    $ tar jxvf fontconfig-2.10.1.tar.bz2
    $ cd fontconfig-2.10.1
    $ ./configure && make
    # make install
    

    ・freetype-2.4.2のインストール
    公式サイト(http://www.freetype.org/)から freetype-2.4.10.tar.bz2 をダウンロードする。それから以下のコマンドを実行する。
    $ tar jxvf freetype-2.4.10.tar.bz2
    $ cd freetype-2.4.10
    $ ./configure && make
    # make install
    

    ・pixmanのインストール
    公式サイト(http://pixman.org/)から pixman-0.26.2.tar.gz をダウンロードする。それから以下のコマンドを実行する。
    $ tar xzvf pixman-0.26.2.tar.gz
    $ cd pixman-0.26.2
    $ ./configure && make
    # make install
    

    ・cairoのインストール
    公式サイト(http://www.cairographics.org/)から cairo-1.12.2.tar.xz をダウンロードする。それから以下のコマンドを実行する。
    $ tar Jxvf cairo-1.12.2.tar.xz
    $ cd cairo-1.12.2
    $ ./configure && make
    # make install
    


    これでやっと下準備が終わったので、Pangoをインストールしていく。
    ・Pangoのインストール
    DLサイト(http://ftp.gnome.org/pub/gnome/sources/pango/1.30/)から pango-1.30.1.tar.xz をダウンロードする。それから以下のコマンドを実行する。
    $ tar Jxvf pango-1.30.1.tar.xz
    $ cd pango-1.30.1
    $ ./configure && make
    # make install
    

    Git の使い方

    ・ローカルリポジトリの作成
    $ cd ローカルリポジトリを作成するディレクトリ
    $ git init
    

    ・既存のリポジトリの複製
    $ git clone
    

    ・修正したファイルの確認
    $ git status
    

    ・変更点をDiff形式で表示
    $ git diff 変更点を確認したいファイル
    

    ・変更のコミット
    コミットするファイルを $ git add コマンドで必ず指定しなければならない。
    $ git add コミットしたいファイル名
    $ git commit
    

    ・リモートリポジトリへコミット
    $ git push ユーザー名@リポジトリの場所
    

    ・リモートリポジトリの変更点をチェックアウト
    $ git pull ユーザー名@リポジトリの場所
    


    参考URL:
    分散バージョン管理システムGitの使い方入門(http://sourceforge.jp/magazine/09/02/02/0655246)
    Gitを使いこなすための20のコマンド(http://sourceforge.jp/magazine/09/03/16/0831212)

    2012年9月16日日曜日

    SHA1 チェックサムでDLファイルが正常か確認する

    ダウンロードしたファイルと .sha1ファイルを同じフォルダに入れてコマンドを実行する。つまり例えをあげると、ダウンロードしたファイル(cairo-1.12.2.tar.xz)とその.sha1ファイル(cairo-1.12.2.tar.xz.sha1)とを同じフォルダに入れて、以下のコマンドを実行する。
    $ sha1sum --check cairo-1.12.2.tar.xz.sha1
    
    このコマンドを実行するとダウンロードしたファイルが正常か判断した結果が表示される。

    Gdk-Pixbuf のインストール

    Gdk-Pixbuf をインストールする前の下準備として LibTIFF、 libjpeg、 libpng をインストールする。

    ・LibTIFFのインストール
    公式サイト(http://www.remotesensing.org/libtiff/)から tiff-4.0.2.tar.gz をダウンロードする。それから以下のコマンドを実行する。
    $ tar xzvf tiff-4.0.2.tar.gz
    $ cd tiff-4.0.2
    $ ./configure && make
    # make install
    

    ・libjpegのインストール
    公式サイト(http://www.ijg.org/)から jpegsrc.v8d.tar.gz をダウンロードする。それから以下のコマンドを実行する。
    $ tar xzvf jpegsrc.v8d.tar.gz
    $ cd jpeg-8d
    $ ./configure && make
    # make install
    

    ・libpngのインストール
    公式サイト(http://www.libpng.org/pub/png/libpng.html)から libpng-1.5.12.tar.xz をダウンロードする。それから以下のコマンドを実行する。
    $ tar Jxvf libpng-1.5.12.tar.xz
    $ cd libpng-1.5.12
    $ ./configure && make
    # make install
    

    ここまで下準備をしてようやく本題に入る。
    ・Gdk-Pixbufのインストール
    Gdk-PixbufをDLサイト(http://ftp.gnome.org/pub/gnome/sources/gdk-pixbuf/2.26/)から gdk-pixbuf-2.26.3.tar.xz をダウンロードする。それから以下のコマンドを実行する。
    $ tar Jxvf gdk-pixbuf-2.26.3.tar.xz
    $ cd gdk-pixbuf-2.26.3
    $ ./configure && make
    # make install
    

    Note:
    cannot open shared object file: No such file or directory とエラーが出たら、http://xpb8dqx.blogspot.jp/2012/09/blog-post.htmlを実行してから以下のコマンドを実行する。
    $ make clean
    $ ./configure && make 
    # make install
    

    ATK2.4.0 のインストール

    GTK+のDLサイト(http://ftp.gnome.org/pub/gnome/sources/atk/2.4/)から atk-2.4.0.tar.xz をダウンロードして
    $ tar Jxvf atk-2.4.0.tar.xz
    $ cd atk-2.4.0
    $ ./configure && make
    # make install
    
    を実行すればインストール完了。

    共通ライブラリをシステムに認識させる

    /etc/ld.so.conf に 共通ライブラリのある、パスを書き加え、ldconfig を実行する。つまり、共通ライブラリのパスを /usr/local/lib だとすると、
    # echo "/usr/local/lib" >> /etc/ld.so.conf
    # /sbin/ldconfig
    
    となる。

    GLib2.32 のインストール

    GLibをインストールするための下準備として ZLIB, LIBFFI, gettext, libiconv をインストールしておく。

    ・ZLIBのインストール
    公式サイト(http://www.zlib.net/)から zlib-1.2.7.tar.bz2 をダウンロードして
    $ tar jxvf zlib-1.2.7.tar.bz2
    $ cd zlib-1.2.7
    $ ./configure && make
    # make install
    

    ・LIBFFIのインストール
    公式サイト(http://sourceware.org/libffi/)からlibffi-3.0.11.tar.gz をダウンロードして
    $ tar xzvf libffi-3.0.11.tar.gz
    $ cd libffi-3.0.11
    $ ./configure && make
    # make install
    

    ・gettextのインストール
    公式サイト(http://www.gnu.org/software/gettext/)からgettext-0.18.1.1.tar.gz をダウンロードして
    $ tar xzvf gettext-0.18.1.1.tar.gz
    $ cd gettext-0.18.1.1
    $ ./configure && make
    # make install
    

    ・libiconvのインストール
    公式サイト(http://www.gnu.org/software/libiconv/)からlibiconv-1.14.tar.gz をダウンロードして
    $ tar xzvf libiconv-1.14.tar.gz
    $ cd libiconv-1.14
    $ ./configure && make
    # make install
    



    下準備が全部インストールできたので本丸(GLib2.32)を攻略していく。
    GLibのDLサイト(http://ftp.gnome.org/pub/gnome/sources/glib/2.32/)からglib-2.32.4.tar.xz をダウンロードして
    $ tar Jxvf glib-2.32.4.tar.xz
    $ cd glib-2.32.4
    $ ./configure --with-libiconv
    $ make
    # make install
    
    でインストールが完了する。

    ライブラリをインストールしたのにバージョンが古いよと言われる場合は http://xpb8dqx.blogspot.jp/2012/09/blog-post.html を実行すること。


    error while loading shared libraries: libiconv.so.2: cannot open shared object file: No such file or directory と言うエラーが出たら libiconv.so.2 をパスの通っている場所(/usr/lib/)にシンボリックリンクを作成する。つまり、
    # ln -s /usr/local/lib/libiconv.so.2 /usr/lib/
    
    とする。シンボリックリンクを作成した後は
    $ make clean
    $ ./configure --with-libiconv
    
    を実行してコンフィグからやり直す。libffi.so.6 も同様にしてエラーが出る場合があるので、エラーが出たらシンボリックリンクを作成する。

    GNU/Linux Debianでのインストールパッケージの見つけ方

    Debianの公式サイト(http://www.debian.org/)でDebian Packageを選択。そこの検索ボックスでインストールしたいソフトの名前を入れると、大抵はインストールパッケージの名前が出てくる。なのでそのパッケージの名前を $ apt-get install で指定すればインストールできる。

    GNU/Linux Debian に Eclipse をインストール

    とりあえず公式サイト(http://www.eclipse.org/)からEclipseをダウンロード。
    ダウンロードが完了したら、解凍を行う。
    $ tar xzvf eclipse~
    

    このままではDebianで動かないようなので、java-6-openjdkからjreへのシンボリックリンクを作成する。
    $ ln -s /usr/lib/jvm/java-6-openjdk ./eclipse/jre
    


    Note:
    $ ls -la /usr/lib/jvm 
    
    でjava-6-openjdkがインストールされているか確認する。入っていない場合は
    # apt-get install openjdk-6-jre
    
    でインストールすること。

    ADT Plugin (EclipseでのAndroid開発環境のインストール)

    公式サイト: http://developer.android.com/sdk/installing/installing-adt.html を参照してインストール。リポジトリを指定するときにhttps://でダメだったら、http://を指定しておけばいいとのこと。

    Eclipseにインストールする時に、Android DDMS、Traceviewでエラーが出た。とりあえずDDMS、Traceviewをインストールせずに続行。でも、DDMSはデバッガ関連らしいので後で何とかしてインストールする必要がある。Traceviewは実行時のログをグラフィカルに表示するものみたい。どっちもインストールする必要がある。どうしよう。。。

    インストールをしていたら、全部ダウンロードできなかった。EclipseのバージョンがHelios(3.6)以上でなければダメみたい。 ローカルでADT Pluginをインストールするためのダウンロードサイトに記載されていた。詳細はhttp://developer.android.com/tools/sdk/eclipse-adt.html

    追記:
    Eclipseのバージョンをあげたら簡単にインストールできた。

    2012年8月3日金曜日

    GNU Smalltalk のインストール

    依存関係で必要になるのは GNU Smalltalk -> gnutls -> libnettle2.4

    libnettle2.4 は http://www.lysator.liu.se/~nisse/nettle/ から取得する。もしくは yum install nettle でインストールする(Fedoraの場合)。

    gnutls は http://www.gnu.org/software/gnutls/ から取得する。

    GNU Smalltalk は http://smalltalk.gnu.org/ から取得する。

    2012年1月16日月曜日

    Apacheの500 Internal Server Errorを直す

    Apacheの500 Internal Server Error で3、4日悩んだ。原因はcgiソースコードの文字コードがUTF-8で書かれていたこと。eucでもダメなのかな?
    解決方法は nkf -j test.cgi > hello.cgi というコマンドを実行することだった。これは「文字コードをJISコードに変換するよ。」という内容です。

    追記:文字コードの変換は何に変換してもいいみたい。結局、原因は曖昧なまま。。。とりあえず文字コードを変換すればいいみたい。謎でした。。。