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+ 2.xのC++ラッパ。LinuxとWindowsの両方で動作する。ODBCライブラリもあるみたい。

2014年7月現在、最新版は, 2011年3月にリリースされたv2.5.1.

VDK Libraryのほうは次のサイトで継続している;

VDK Libraryは, RADツールであるVDKBuilderと併用する。

(2014.7) VDKBuilderは次のサイトから入手できる。

Qt Free Edition 2.1.1

(2014.7)

クロスプラットフォーム、C++による UIフレームワーク。オープンソース (GPLv3 または LGPLv2) で提供される。

2014年7月現在の最新版は, バージョン5.3.

(参考)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標準の大部分を置き換えるつもりらしい。

Linux, Windows (32bit, 64bit) および MacOS X用がある。

2014年7月現在, 次のライブラリから構成される;

  • GTK+ 3.12
  • GLib 2.40
  • Pango 1.36
  • Gdk-Pixbuf 2.30
  • ATK 2.12
  • GObject-Introspection 1.40

 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互換。日本語が全く通らないので,使ってない。

(2014.7) LessTifプロジェクトはすでに終了している。LGPLv2 でライセンスされる, 本物の Motif (Open Motif) 2.3.4 が入手できる。

$ ./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).

(2015.9) 時代が変わって、もはや自分で取ってくる必要はない。Fedora 22 Linux だと, java-1.8.0-openjdk, java-1.8.0-openjdk-devel, java-1.8.0-openjdk-headless パッケージ.

(2019.10) Fedora 30 だと java-11-openjdk-devel, java-1.8.0-openjdk-devel. しかし、アプリケーションが Java 8 決めうちで依存しているものがある。

開発には IDE が必要。Fedora 22 Linux には NetBeans Platform --a generic framework for Swing applications-- は含まれるが、NetBeans IDEのパッケージは用意されていない。

NetBeans IDEの入手はこちらから;

2015.9 現在の安定板はバージョン8.0.2. Windows版, Linux版(x86/x64), Mac OS X版がある。

チュートリアルはいろいろあるが、例えばこことか。

ここは、Javaだけでなく、いろいろなチュートリアルがある。変わったところで SAP ABAP とかも。

(2015.9ここまで)

  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.

(2011.8) MICO はスピードが遅い。2008年にリリースされた v2.3.13 で, 開発も止まっている。

MICO以外のCORBA ORBには, ORBit2やomniORBがある。

ORBit2はすでに捨てられており、C/C++用で実用的なCORBA ORBとしては, omniORBがいいでしょう。

2014年7月現在, omniORBの最新版は, 2014年4月にリリースされた v4.2.0. CORBA 2.6に対応。

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

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

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

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"