無料スクリプト配布のPHP.TO   PHPの実用的なtips PHPマニュアル MySQLマニュアル Apacheマニュアル PostgreSQLマニュアル マニュアル検索    

16.1. Visual C++ または Microsoft Windows SDK を使用した構築

Microsoftが提供するVisual C++コンパイラスィートを使用してPostgreSQLを構築することができます。 これらのコンパイラは Visual Studio Visual Studio Express 、いくつかのバージョンの Microsoft Windows SDK にあります。 すでに Visual Studio 環境が設定されているのでなければ、Microsoftから無料でダウンロードできる Windows SDK 7.1 や その他の Visual Studio Express 2012 for Windows Desktop のコンパイラを使用することが最も簡単な方法です。

PostgreSQLは Visual Studio 2005 から Visual Studio 2012 (Expressエディション含む)までに付属のコンパイラをサポートします。 単体のWindows SDKの6.0から7.1までについても同様です。 64ビットPostgreSQLの構築は Microsoft Windows SDK のバージョン6.0aから7.1、もしくは Visual Studio 2008 かそれ以上のバージョンでのみサポートしています。

Visual C++ または Platform SDK を使用して構築するためのツールが src/tools/msvc ディレクトリに存在します。 構築する際に、 MinGW Cygwin に付属するツールがシステムPATHに存在しないことを確認してください。 また、PATH上で必要なVisual C++ツールがすべて利用可能になっていることを確認してください。 Visual Studio では、 Visual Studio コマンドプロンプト を起動してください。 64ビット版を構築したい場合には、それぞれ64ビット版のコマンドを使用する必要があります。 Microsoft Windows SDK では、SDKのスタートメニューにある CMD shell を起動してください。 最近のSDKでは、 setenv コマンドを使うことで対象のCPUアーキテクチャ、構築種類、対象OSを変更することができます。 例えば setenv /x86 /release /xp は対象をWindows XP以降の32ビットリリース版として構築します。 その他の setenv のオプションについては /? を参照してください。 すべてのコマンドは src\tools\msvc ディレクトリから実行しなければなりません。

構築する前に、 config.pl ファイルを編集して、変更したい設定オプションや使用する何らかのサードパーティ製のライブラリのパスを反映させる必要があるかもしれません。 まず config_default.pl ファイルを読み取り、解析することから始まり、そして config.pl 内の何らかの変更が適用されて、すべての設定が決定されます。 例えば、 Python インストレーションの場所を指定する場合、以下を config.pl に記載します。

$config->{python} = 'c:\python26';

config_default.pl 内の指定と異なるパラメータのみを指定する必要があります。

何か他に環境変数を設定する必要があれば、 buildenv.pl という名前のファイルを作成し、そこに必要なコマンドを記載してください。 たとえば、PATHにbison用のパスを追加したいのであれば、以下を含むファイルを作成してください。

$ENV{PATH}=$ENV{PATH} . ';c:\some\where\bison\bin';

16.1.1. 必要条件

PostgreSQL を構築するには以下の追加製品が必要です。 config.pl ファイルを使用してライブラリを利用できるディレクトリを指定してください。

Microsoft Windows SDK

もしあなたの構築環境がサポートされている Microsoft Windows SDK のバージョンを搭載していないのであれば、入手可能な最新版(現在はバージョン7.1)までアップグレードすることを推奨します。 http://www.microsoft.com/downloads/ からダウンロードできます。

SDKの Windows Headers and Libraries を常にインクルードしなければなりません。 Visual C++ Compilers に含まれる Windows SDK をインストールしている場合、構築のために Visual Studio は必要ありません。 バージョン8.0aでは、Windows SDKは完全なコマンドライン構築環境を提供していないことに注意してください。

ActiveState Perl

ActiveState Perlが構築生成スクリプトを実行するために必要です。 MinGWまたはCygwinのPerlでは動作しません。 また、PATH内に含められていなければなりません。 http://www.activestate.com からバイナリをダウンロードできます (注意:バージョン5.8以降が必要です。フリー版の標準配布で十分です)。

使用できるようになることが目的であれば以下の追加製品は必要ありませんが、完全なパッケージを構築する場合には必要です。 config.pl を使用してライブラリが利用できるディレクトリを指定してください。

ActiveState TCL

PL/TCL を構築する時に必要です (注意:バージョン8.4が必要です。フリー版の標準配布で十分です)。

Bison および Flex

Gitから構築する場合は Bison および Flex が必要です。 しかしリリースファイルから構築する場合は不要です。 Bison 1.875またはバージョン2.2以降のみで動作します。 Flex はバージョン2.5.31以降でなければなりません。

Bison および Flex の両方が、 MinGW コンパイラ一式の一部として http://www.mingw.org/wiki/MSYS から入手できる、 msys ツール一式に含まれています。 また http://git-scm.com/ から msysGit の一部として msys を入手することもできます。

すでにPATHが通っていない場合は、 buildenv.pl の中で flex.exe および bison.exe があるディレクトリをPATH環境変数に追加する必要があります。 MinGWの場合、このディレクトリはMinGWのインストールディレクトリの \msys\1.0\bin 副ディレクトリです。 msysGitの場合は、Gitインストールディレクトリ内の bin です。 MinGWコンパイラツール自体をPATHに追加しないでください。

注意: GnuWin32からのBisonディストリビューションでは、 C:\Program Files\GnuWin32 の様に名前に空白を持つディレクトリにインストールされると正常に機能しないというバグがあります。 代わりに C:\GnuWin32 へのインストール、または、PATH環境設定におけるGnuWin32へのNTFSショートネームパスの使用(例えば C:\PROGRA~1\GnuWin32 )を検討してください。

注意: PostgreSQL FTPサイトで配布され、古い文書で参照していた古い"winflex"は、64ビットWindowsホストでは"flex: fatal internal error, exec failed"で失敗します。 代わりにmsysからのflexを使用してください。

Diff

リグレッションテストを実行するにはdiffが必要です。 http://gnuwin32.sourceforge.net からダウンロードできます。

Gettext

NLSサポート付きで構築する場合はgettextが必要です。 http://gnuwin32.sourceforge.net からダウンロードできます。 バイナリ、依存物、開発用ファイルすべてが必要であることに注意してください。

MIT Kerberos

Kerberos認証をサポートする場合に必要です。 MIT Kerberosは http://web.mit.edu/Kerberos/dist/index.html からダウンロードできます。

libxml2 および libxslt

XMLサポートのために必要です。 バイナリは http://zlatkovic.com/pub/libxml から、ソースは http://xmlsoft.org からダウンロードできます。 libxml2はiconvを必要することに注意してください。 同じ場所からダウンロードできます。

openssl

SSLサポートのために必要です。 バイナリは http://www.slproweb.com/products/Win32OpenSSL.html から、ソースは http://www.openssl.org からダウンロードできます。

ossp-uuid

UUID-OSSPサポート(contribのみ)で必要です。 ソースは http://www.ossp.org/pkg/lib/uuid/ にあります。

Python

PL/Python を構築する場合に必要です。 バイナリは http://www.python.org からダウンロードできます。

zlib

pg_dump および pg_restore における圧縮をサポートするために必要です。 バイナリは http://www.zlib.net からダウンロードできます。

16.1.2. 64ビット版のWindowsにおける特別な考慮事項

64ビット版Windowsにおいてx64アーキテクチャのみでPostgreSQLを構築することができます。 Itaniumプロセッサをサポートしていません。

同じ構築用ツリーで32ビット版と64ビット版を混在させることはサポートされません。 構築システムは32ビット環境で動作しているか64ビット環境で動作しているかを自動的に検出し、それにしたがってPostgreSQLを構築します。 このため構築作業を始める前に正しいコマンドプロンプトを実行させることが重要です。

python openssl などのサーバサイドのサードパーティ製ライブラリを使用するためには、ライブラリも64ビット版である 必要があります 。 64ビット版のサーバで32ビット版のライブラリをロードすることはサポートされていません。 PostgreSQLがサポートするサードパーティ製のライブラリで32ビット版しか利用できないものが複数あります。 こうした場合、64ビット版のPostgreSQLで使用することはできません。

16.1.3. 構築

リリース条件(デフォルト)でPostgreSQLをすべて構築するためには、以下のコマンドを実行してください。


build

デバッグ条件でPostgreSQLをすべて構築するためには、以下のコマンドを実行してください。


build DEBUG

単一のプロジェクトのみを構築するためには、たとえばpsqlであれば、以下のコマンドを実行してください。


build psql


build DEBUG psql

デバッグのためにデフォルトの構築条件を変更するためには、以下を buildenv.pl ファイルに記載してください。

$ENV{CONFIG}="Debug";

また、Visual Studio GUI内から構築することも可能です。 この場合はコマンドプロンプトから以下を実行しなければなりません。


perl mkvcbuild.pl

その後に、生成された pgsql.sln (ソースツリーのトップディレクトリに存在します。)をVisual Studioで開いてください。

16.1.4. 整理およびインストール

ほとんどの場合、Visual Studioの持つ自動依存関係追跡により変更されたファイルが扱われます。 しかし、大規模な変更が行われた場合、インストレーションを整理する必要があるかもしれません。 このためには、 clean.bat コマンドを実行してください。 これにより、生成されたファイルがすべて自動的に消去されます。 また、 dist パラメータを使用して実行することも可能です。 この場合、 make distclean のように振舞い、flex/bisonの出力ファイルも削除します。

デフォルトで、すべてのファイルは debug または release ディレクトリ以下のサブディレクトリに書き出されます。 これらのファイルを標準レイアウトでインストールし、データベースの初期化や使用に必要なファイルを生成するためには、以下のコマンドを実行してください。


install c:\destination\directory

16.1.5. リグレッションテストの実行

リグレッションテストを実行するためには、まず必要なすべての部品の構築が完了していることを確認してください。 また、システムのすべての部品で必要とするDLL(手続き言語用のPerlのDLLやPythonのDLLなど)がシステムパスに含まれていることを確認してください。 もし含まれていなければ、 buildenv.pl ファイルを介して設定してください。 試験を実行するためには、以下のコマンドのいずれかを src\tools\msvc ディレクトリから実行してください。


vcregress check


vcregress installcheck


vcregress plcheck


vcregress contribcheck

使用するスケジュール(デフォルトはparallelです)を変更するためには、コマンドラインに以下のように追加してください。


vcregress check serial

リグレッションテストの詳細については 第30章 を参照してください。

16.1.6. 文書の構築

PostgreSQLの文書をHTML書式で構築するためには、いくつかツールやファイルが必要です。 これらのファイルをすべて格納するためのトップディレクトリを作成し、以下のリストに記載したサブディレクトリに格納してください。

OpenJade 1.3.1-2

http://sourceforge.net/projects/openjade/files/openjade/1.3.1/openjade-1_3_1-2-bin.zip/download からダウンロードし、 openjade-1.3.1 サブディレクトリで伸長してください。

DocBook DTD 4.2

http://www.oasis-open.org/docbook/sgml/4.2/docbook-4.2.zip からダウンロードし、 docbook サブディレクトリで伸長してください。

DocBook DSSSL 1.79

http://sourceforge.net/projects/docbook/files/docbook-dsssl/1.79/docbook-dsssl-1.79.zip/download からダウンロードし、 docbook-dsssl-1.79 サブディレクトリで伸長してください。

ISO文字エンティティ

http://www.oasis-open.org/cover/ISOEnts.zip からダウンロードし、 docbook サブディレクトリで伸長してください。

buildenv.pl ファイルを編集し、このトップディレクトリの場所を示す変数を追加してください。 例を示します。

$ENV{DOCROOT}='c:\docbook';

文書を構築するためには、 builddoc.bat コマンドを実行してください。 これは実際にはインデックスを作成するために、2回構築を行うことに注意してください。 生成されたHTMLファイルは doc\src\sgml に格納されます。


powered by SEO.CUG.NET