BuildPGSQLWindows
Необходимо для сборки
1) MinGW
binutils-2.15.91-20040904-1.tar.gz
mingw-runtime-3.9.tar.gz
gcc-core-3.4.2-20040916-1.tar.gz
gcc-g++-3.4.2-20040916-1.tar.gz
gcc-objc-3.4.2-20040916-1.tar.gz
w32api-3.7.tar.gz
mingw32-make-3.80.0-3.tar.gz
MSYS-1.0.9.exe
mingw-utils-0.3.tar.gz
с другими (последними) были проблемы
2) Visual Studio (в нашем случае 2005)
3) GNUWIN32
gettext-0.14.4.exe
patch-2.5.9-7-setup.exe
libiconv-1.9.2-1.exe
zlib-1.2.3.exe
4) libicu38
6) pgadmin
7) pljava
8) pginst
cvs -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/pginstaller co pginst
9) OpenSSL
10) MIT Kerberos
11) StackBuilder
cvs -d :pserver:anonymous@cvs.pgfoundry.org:/cvsroot/stackbuilder co wizard
12) PlDebugger
13) ActivePerl, ActivePython, ActiveTcl от ActiveState
14) wxWidgets (Для StackBuilder)
15) WiX 3
16) libxslt
(для contrib/xml2)
(для сборки MSI надо скачать сборку той же версии)
17) libxml2
(для contrib/xml2)
18) HTML2CHM
19) Документация
mingw
копируем include из
C:\Program Files\GnuWin32\include
C:\OpenSSL\include
C:\Tcl\include
в
C:\MinGW\include
копируем lib из
C:\Program Files\GnuWin32\lib
C:\OpenSSL\lib\MinGW
в
C:\MinGW\lib
Переименовываем ssleay32.a в libssleay32.a
Распаковываем libicu38 в в C:\MinGW\
Устанавливаем MIT KRB5
Копируем include
Копируем библиотеки comerr32.lib krb5_32.lib
Конвертируем библиотеки (примерно так)
C:\MinGW\lib>c:\mingw\bin\reimp --dlltool c:\\mingw\\bin\\dlltool --as c:\\mingw\\bin\\as comerr32.lib C:\MinGW\lib>c:\mingw\bin\reimp --dlltool c:\\mingw\\bin\\dlltool --as c:\\mingw\\bin\\as krb5_32.lib
pgsql
Распаковываем pldebugger в contrib
./configure --without-zlib \ --without-readline \ --enable-nls \ --with-openssl \ --with-perl \ --with-python \ --with-krb5 \ --with-includes=/mingw/include/krb5 \ --with-tcl --with-tclconfig=/c/tcl/lib/
make install && cd contrib && make install && cd pldebugger && make install && cd ../xml2 && make install
Не собирается profiler (make plugin_profiler) и не устанавливается pldebugger, нужные файлы копируем ручками.
Для сборки MSI требуется дерево сконфигурированное по другому (для сборки нативной библиотеки)
./configure --without-zlib --without-readline --with-perl --with-python --with-tcl --with-tclconfig=/c/tcl/lib/
wxWidgets
Открываем в VS wxWidgets\build\msw\wx.dsw
Выбераем "Release Unicode" и собираем проект
StackBuilder
Открываем проект. В настройках VS добавляем пути
include:
C:\Program Files\wxWidgets\include
C:\Program Files\wxWidgets\include\msvc
lib:
C:\Program Files\wxWidgets\lib\vc_lib
Выбераем "Release" и собираем проект
pginst
Копируем библиотеки
msi.lib (из wininst SDK 1.1)
в C:\Program Files\Microsoft Visual Studio 8\VC\lib
Изменяем:
- paths.projinc.in -> paths.projinc
Меняем пути
- settings.projinc
меняем версию
- lang/languages.projinc
убераем все языки кроме en и ru
Убираем след ID:
postgreslib (библиотека для VS)
dict_snowballdll (расширение для tsearch2, в 8.2 включено в tsearch2.dll)
uuid-ossp (не поддерживается для 8.2)
Добавляем:
corelibs: icudt38.dll, icuin38.dll, icuuc38.dll
contriblibs: mchar.dll, tsearch2.dll, fasttrun.dll, fulleq.dll
contribshare: mchar.sql, uninstall_mchar.sql, tsearch2.sql, uninstall_tsearch2.sql, fasttrun.sql, fulleq.sql
Унас 8.2, поэтому убираем:
pg_standby
pageinspectdll (а также .sql)
Для правильной установки сервиса( строка 122):
<ServiceInstall Id="pgservice" ... Arguments="runservice -N "[SERVICEID]" -D "[DATADIR]"" ...>
Патчи: http://updates.etersoft.ru/pub/Etersoft/PostgreSQL/8.2.11/Windows/patch/