a
トップページ -> コンピュータ -> Cygwin, MinGW の活用 -> Windows で Xorg X ウインドウシステム R7.5 の開発環境を自前でビルドとインストール(Windows の Cygwin 上にインストール)
[サイトマップへ], サイト内検索:

Windows で Xorg X ウインドウシステム R7.5 の開発環境を自前でビルドとインストール(Windows の Cygwin 上にインストール)

サイト構成 連絡先,業績など 実践知識 データの扱い コンピュータ 教材 サポートページ

X ウインドウシステム (X Window System) のX サーバは Cygwin のパッケージなどを使って簡単にインストールできますし、 X ウインドウシステムの開発環境も,Cygwin のパッケージを使って簡単にインストールできます. しかし,まれに,X ウインドウシステムの開発環境を自前でビルドしたくなる場合があります. この Web ページでは,Xorg X ウインドウシステム (X Window System) R7.5 のビルドとインストールの手順を説明する.

参考 Web ページ: http://minabe.dip.jp/d/20060529.html


前準備


Xorg X ウインドウシステム R7.5 の開発環境のビルドに必要なソフトウエアの準備

Xorg X ウインドウシステム R7.5 の開発環境をビルドするためにコンパイラや各種のソフトウエアが必要です.これは, libpthread-stubs と ossp-uuid を除き, Cygwin のセットアッププログラム setup.exe を使って, 簡単にインストールできます. libpthread-stubs と ossp-uuid については後で説明する.

  1. セットアッププログラムの開始

  2. パッケージ選択画面 (Select Packages)」(下図)まで進む

  3. パッケージ選択画面で,パッケージを選ぶ

    下記のパッケージをチェックする.

  4. 終了の確認

  5. cygwin1.dll のコピー

    これは,Windows の側から,Cygwin のプログラムを実行できるようにするための設定

    C:\cygwin\bin\cygwin1.dll を C:\Windows\System32 にコピーしておくこと

  6. 環境変数の設定

    これも,Windows の側から,Cygwin のプログラムを実行できるようにするための設定


libpthread-stubs のインストール

  1. libpthread-stubs のダウンロード,解凍,configure の実行
    cd /tmp
    wget http://xorg.freedesktop.org/releases/individual/lib/libpthread-stubs-0.1.tar.bz2
    rm -rf libpthread-stubs-0.1
    tar -xvjof libpthread-stubs-0.1.tar.bz2
    cd libpthread-stubs-0.1
    autoconf
    export PKG_CONFIG_PATH=/usr/X11R7.5/lib/pkgconfig
    export PATH=/usr/X11R7.5/bin:$PATH
    ./configure --prefix=/usr/X11R7.5
    

  2. configure の結果の確認

    エラーメッセージが出ていないこと.

  3. インストール
    make
    make install
    

  4. インストール結果の確認

    エラーメッセージが出ていないこと.


ossp-uuid のインストール

wget ftp://ftp.ossp.org/pkg/lib/uuid/uuid-1.6.2.tar.gz

tar -xvzof uuid-1.6.2.tar.gz
cd uuid-1.6.2
./configure --prefix=/usr/X11R7.5 --enable-shared
make
make install
rm -f /usr/X11R7.5/lib/libuuid.la

Xorg のソースコードのダウンロード

  1. http://gihyo.jp/lifestyle/serial/01/ganshiki-soushi/0006

  2. 今度は,build-from-tarballs.sh が欲しいので,別の Web ページを開く

    http://webcvs.freedesktop.org/xorg/util/modular/

  3. build-from-tarballs.shをダウンロード


Mesa バージョン 7.5.2 のソースコードのダウンロードと解凍

Xorg 7.4 のビルドに,Mesa のソースコードが必要 (Xorg 7.5 からは変わる予定のようです).

  1. Mesa の Web ページを開く

    http://www.mesa3d.org/

  2. Downloading / Unpacking」をクリック

  3. SourceForge」をクリック

  4. Download」をクリック

  5. それぞれ,ファイルをダウンロード

  6. Cygwin のコンソールで,ダウンロードしたファイル(3つ)を解凍する
    cd /tmp
    tar -xvjof MesaLib-7.4.2.tar.bz2
    tar -xvjof MesaGLUT-7.4.2.tar.bz2
    tar -xvjof MesaDemos-7.4.2.tar.bz2
    

  7. ファイルの確認
    cd /tmp
    ls Mesa-7.4.2
    

これで,Mesa バージョン 7.4.2 のソースコードのダウンロードと解凍が終わった.


Xorg のビルド

ビルド前の準備

Xorg R7.4 を Cygwin でビルドしたときにいくつかのエラーが出ました.エラーを回避するために,下記の前準備が必要になった.

  1. xcb_io.c の書き換え

    libX11-1.1.5.tar.bz2 内の xcb_io.c に #Include を入れる.

    cd /tmp
    tar -xvjof libX11-1.1.5.tar.bz2
    cp libX11-1.1.5/src/xcb_io.c libX11-1.1.5/src/xcb_io.c.ORIG
    echo "#include <sys/time.h>" > libX11-1.1.5/src/xcb_io.c
    cat libX11-1.1.5/src/xcb_io.c.ORIG >> libX11-1.1.5/src/xcb_io.c
    tar -cvjof libX11-1.1.5.tar.bz2 ./libX11-1.1.5
    

  2. build-from-tarballs.sh の書き換え

    Xserver はビルドしない,lpxutil はビルドしない. Xserver と lpxutil に依存するパッケージもビルドしないという方針です. 入れていると.ビルド時にエラーが出ので(私のパソコンでは).

    以上の行は,build-from-tarballs.sh から外す.

  3. Windows 版 Python は,一時的にディレクトリ名を変えておく.

    もし,Windows 版 Python をインストール澄みの場合, そのインストールディレクトリ(例えば,c:\Python25 のようになっているはずです)は, 分かりにくいもの(例えば,c:\Python25HOGEHOGE のように変えておく.インストール後に元に戻す. Cygwin の Python は関係ありません.

Xorg R7.4 のビルド

  1. (オプション)次のコマンドを実行して,CFLAGS を設定する.

    ※ 良く分からない場合は,設定する必要は無い.

    gcc バージョン 3 の場合,export CFLAGS="-O2 -march=prescott -mfpmath=sse"
    gcc バージョン 4 の場合,export CFLASG="-O2 -march=core2 -msse4 -mfpmath=sse"
    

  2. 次のコマンドを実行してビルドとインストールを行う
    cd /tmp
    RAWCPP="/usr/bin/cpp -ansi" PKG_CONFIG_PATH=/usr/X11R7.4/lib/pkgconfig PATH=/usr/X11R7.4/bin:$PATH ./build-from-tarballs.sh -e -m /tmp/Mesa-7.4.2 /usr/X11R7.4
    

    ※ RAWCPP="/usr/bin/cpp -ansi" が無い場合, 「checking if /usr/bin/cpp requires -undef... configure: error: /usr/bin/cpp defines unix with or without -undef.」というエラーが出る場合がある (X11R7.4 で確認した現象. 2009/05 時点)

  3. ビルドの結果を確認し,エラーが出ていれば対処

    エラーが無ければ,次のように表示される(インストールまで終わっていることが分かる).

ビルド時のエラーの例

ビルド時にエラーが出ることがある.