Windows 64位下 PostgreSQL的編譯

      首先本文是根據權宗亮先生Windows 平臺編譯PostgreSQL 進而完成的,特此說明。 php

      因爲編譯Windows下64位的PostgreSQL(下面簡稱PG),所需的依賴包,大部分沒法直接使用,因此這裏着重講一下依賴包的編譯過程(沒有這些包也是能夠完成編譯的,可是這些輔助包能更好地將PG的)。 html

      1、編譯環境: web

            Windows 7 旗艦版 Service Pack 1,VS2008 Express版。 sql

      2、所需下載的依賴包:             bootstrap

            一、Perl:是一種腳本語言,在字符串匹配等方面有很突出的優勢。
            二、OpensslSSLSecure Socket Layer(安全套接層協議)的縮寫,能夠在Internet上提供祕密性傳輸。
            三、Zlib
是一種事實上的業界標準,以致於在標準文檔中,zlib和DEFLATE經常互換使用。數以千計的應用程序直接或間接依靠zlib壓縮函式庫。我所使用的是1.2.7,這裏只有源碼包,沒有直接可用的,因此必須進行編譯安裝。安裝過程以下:(1)打開VS 2008 x64命令提示 (2)進入zlib目錄裏邊的masmx64目錄下(C:\zlib-1.2.7\contrib\masmx64),運行bld_ml64.bat (3)進入zlib-1.2.7\contrib\vstudio\vc9\目錄,用vs2008打開zlibvc.sln方案文件  (4)在工具欄中將「解決方案平臺」改成「x64」,編譯便可 (5)本身對生成好的文件進行拷貝,按照32位下的目錄進行拷貝便可。        
            四、Libiconv
是一個基於GNU協議的開源庫,主要是解決多語言編碼處理轉換等應用問題。這個依賴包須要和Gettext一塊兒編譯,編譯過程以下:
(1)打開VS 2008 x64命令提示
(2)進入到Libiconv目錄下運行命令: windows

         nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD 安全

         nmake -f Makefile.msvc NO_NLS=1 DLL=1 MFLAGS=-MD install
     
(3)編譯Gettext,進入到Gettext目錄下運行命令:

        nmake -f Makefile.msvc DLL=1 MFLAGS=-MD

        nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install
(4) 工具

        nmake -f Makefile.msvc DLL=1 MFLAGS=-MD post

        nmake -f Makefile.msvc DLL=1 MFLAGS=-MD install ui

        五、Libxml:編譯過程:(1)打開VS 2008 x64命令提示
(2)運行命令:cscript configure.js compiler=msvc prefix=c:\opt include=c:\opt\include lib=c:\opt\lib debug=yes (lib和include要將以前編譯的Zlib和Libiconv放入,或者雙擊configure.js,生成configure.msvc,而後將Zlib和Libiconv的lib和include目錄寫明)(3) 運行命令:nmake /f Makefile.msvc (4)安裝nmake /f Makefile.msvc install

        六、Gettext,在如上的步驟中已經完成了編譯,可是PG須要libintl.lib文件,暫時未能對Libintl編譯成功,在此就未進行贅述。

        3、編譯PG:

        一、下載PG源碼,我使用的是PG9.0.9
        二、進行配置,在/src/tools/msvc/configure_defaul.pl,將以前所編譯好的依賴包目錄寫入文件。
        三、因爲Bison和Flex未能在Windows有效運行,在此須要在Linux生成.c文件後拷貝到windows下源碼包內,須要拷貝的文件以下:

src\backend\bootstrap\bootparse.c 
src\backend\bootstrap\bootscanner.c 
src\backend\parser\gram.c 
src\backend\parser\scan.c 
src\backend\utils\misc\guc-file.c 
src\bin\psql\psqlscan.c 
contrib\cube\cubeparse.c 
contrib\cube\cubescan.c 
contrib\seg\segparse.c 
contrib\seg\segscan.c 
src\interfaces\ecpg\preproc\pgc.c 
src\interfaces\ecpg\preproc\preproc.c 
src\interfaces\ecpg\preproc\preproc.h 
src\pl\plpgsql\src\pl_gram.c 
src\pl\plpgsql\src\pl_gram.h  

          四、打開 VS2008 x64命令提示,進入到/src/tools/msvc/下,運行build.bat
          五、成功運行後,運行install.bat  "C:\pg9.0.9"(指定目錄)
          六、至此PG在windows64位下安裝完成。

相關文章
相關標籤/搜索