Linux開発ツール・ライブラリ

ツール

gtkdiff 1.0.2

diffのフロントエンド。

http://www.ainet.or.jp/~inoue/software/

(2011.8) gtkdiffはネットワーク上からロストしてしまっています。現在は Meld がいいでしょう。GNOME 2世代です。Fedora Linux にはパッケージも含まれます (meld).

memprof 0.3.0

メモリーリークを調べる。対象プログラムを再コンパイルする必要もない。

depends on libglade

(2011.8) 2010年7月リリースのバージョン0.6.2 が最新。いつの間にか GTK+ 2.x 対応になっている。

同種のソフトとしては valgrind がある。Valgrind: Front Ends / GUIs に、GUIラッパがいくつか挙がっている。

DDD (The Data Display Debugger) 3.2.1

 GUIなデバッガ (gdbのラッパ)。Motif ベース。

 ddd/ddd.Cのmain(),

XtAppContext app_context;
の次に
XtSetLanguageProc(NULL, NULL, NULL);
を書き加える

 lesstifだとちっとも変わらんが。

(2011.8) DDDは非常に強力だが、今どきMotifは厳しい。同種のソフトとしては、Insight がrpmパッケージも用意されている (Tcl/Tk)。

GUIツールキット

vdk 1.0.5

VDK (The Visual Development Kit) は、Gtk+のC++ラッパ。RADツールであるVDKBuilderと併用する。

Qt Free Edition 2.1.1

ユーザーインターフェイス・ライブラリ

(参考)Qt-1.44-i18nパッチ:
http://www.asahi-net.or.jp/~hc3j-tkg/

/opt$ gzip -dc qt-x11-2.1.1.tar.gz | tar xvfm -

 展開するとき,tarにmオプションを付けること。更新日時の変更で失敗する。

gtk+/glib 1.2.8

ウィンドウシステム用UIライブラリ。X標準の大部分を置き換えるつもりらしい。

 prefix=/usrを付けるのは,Red Hat 5.2に予めインストールされているgtk+ 1.0.6のgtk-configを強制的に置き換えるため。

  1. アンインストール
    # rpm -e gimp-devel
    # rpm -e gtk+-devel
    
  2. glib 1.1.14
    $ ./configure --prefix=/usr --enable-mem-check
    $ make
    $ su
    # make install
    

     --enable-mem-checkを付けないとgimp-1.1.0が起動しない。原因は不明。

  3. gtk+ 1.1.14
    $ ./configure --prefix=/usr --with-locale=ja_JP.ujis
    $ make
    $ su
    # make install
    

LessTif 0.89.9

UIライブラリ。Motif 1.2互換。日本語が全く通らないので,使ってない。

$ ./configure  --disable-build-12 --enable-default-20 --with-xdnd --with-editres i586-pc-linux-gnu
$ make
$ su
# make install

コンパイラ・言語

gcc 2.95.2 + libstdc++ 2.90.8

C/C++コンパイラ。

libstdc++は: http://sourceware.cygnus.com/libstdc++/

/opt/gcc-2.95.2$ mv libstdc++ libstdc++-v2
/opt/gcc-2.95.2$ mv libio libio-v2
/opt/gcc-2.95.2$ tar xzvf ../libstdc++-2.90.8.tar.gz
/opt/gcc-2.95.2$ ln -s libstdc++-2.90.8 libstdc++

/opt/gcc-tmp$ ../gcc-2.95.2/configure --prefix=/usr --enable-shared
                                      --enable-threads
/opt/gcc-tmp/i586-pc-linux-gnu/libstdc++$ /opt/gcc-2.95.2/libstdc++/configure
                                      --prefix=/usr --enable-shared --enable-threads=posix
/opt/gcc-tmp$ make
/opt/gcc-tmp$ su
/opt/gcc-tmp# make install

 configureに与える引数はgcc/configure.inを参照。

 --enable-nls --enable-c-mbchar はCソース中にワイド文字リテラルを書けるようにする。glibc 2.0 + libwcsmbsではこのオプションを有効にするとgccがおかしくなるが,glibc 2.1なら問題なし。

2000.05.18 --enable-nls --enable-c-mbcharは美味くない

egcs 1.1.2

C/C++コンパイラ

/opt$ tar zxvf egcs-1.1.1.tar.gz
/opt$ patch -s -p0 < egcs-1.1.1-1.1.2.diff

$ ./configure --prefix=/usr i586-pc-linux-gnu
$ make

# rpm -e egcs egcs-c++ egcs-g77 egcs-objc
# rpm -e gcc
# rpm -e libg++
# rpm -e libstdc++-devel

# make install

 /usr/lib/libstdc++.aをアンインストールできないので,/usr以下にインストールする

# ln /usr/lib/gcc-lib/i586-pc-linux-gnu/egcs-2.91.66/cpp /lib/cpp

Java2 SDK 1.2.2

Javaコンパイラ & Java仮想機械(virtual machine)

  1. Java互換環境であるkaffeを削除
    # rpm -e kaffe-1.0.b2-2
    
  2. バイナリの解凍
    /opt# tar zxvf jdk1.1.5-v7-glibc.tar.gz
    /opt# unzip hjb112-generic.zip
    
  3. 環境設定

     ~/.bash_profileで

    export JAVA_HOME="/opt/jdk1.1.5"
    export JDK_HOME="$JAVA_HOME"
    export HOTJAVA_HOME="/opt/HotJava1.1.2"
    export CLASSPATH=".:$JAVA_HOME/lib:$JAVA_HOME/lib/classes.zip"
    export PATH="$PATH:/usr/local/bin/Wnn4:$HOME/bin:$JAVA_HOME/bin:$HOTJAVA_HOME/bin"
    
    ぐらい。

ruby 1.4.5 (2000-06-26)

簡易言語インタプリタ。

/opt$ tar zxvf ruby-1.4.5.tar.gz
/opt/ruby-1.4.5$ ./configure --with-default-kcode=euc
/opt/ruby-1.4.5$ make
/opt/ruby-1.4.5$ su
/opt/ruby-1.4.5# make install

ミドルウェア

mico 2.3.3

CORBA ORB

namespaceをサポートしたC++コンパイラ,例えばegcs 1.1が必要。

    $ ./configure --prefix=/usr/local/mico

micoのコマンド群はmico何とかという名前になってないので,ディレクトリを掘って,そこにインストールさせる。

(2011.8) MICO はスピードが遅い。また、ORBit2 は非推奨になっている。C/C++用で実用的なCORBA ORBは、omniORB がある。

Zope 2.1.5

Webアプリケーションサーバ

 python 1.5.2でスレッドを有効にしたものが必要。 http://www.python.org/

 pythonの構築は次のようにする。

$ ./configure --prefix=/usr --with-thread
$ python w_pcgi.py  # Note, this must be Python 1.5.2
$ ./start

その他

glibc 2.0.7 with wcsmbs

基本ライブラリ。Red Hat Linux 5.xで使われているglibc-2.0はそのままでは日本語が使えない。

 wcsmbs-localeはPJE, Vineにもあるが,JRPMのがよさそう。PJEは既にプロジェクト自体が破棄されていて(尻拭いをしてないのでファイルはダウンロードできるが)内容も古い。Vineはjaとja_JPが独立したエンコーディングになっていて,明らかにおかしい。

 'libwcsmbs-*.i386.rpm'と'wcsmbs-locale-*.i386.rpm'の二つのファイルが必要。

XML4C++ 3.0.1

XMLパーサー

(2000.01.29) ソースからは構築に失敗したので,バイナリを取ってくる。icuが含まれているので,別にicuを取ってくる必要はない。

.bashrcに次の記述を追加。なぜか/etc/ld.so.confだとうまくいかない。

export XERCESCROOT="/opt/xml4c-3.0.1"
export LD_LIBRARY_PATH="$XERCESCROOT/lib"
export PATH="$XERCESCROOT/bin"