BuildPGSQLWindows

Материал из Etersoft wiki
Перейти к: навигация, поиск
Wackowiki-logo.png Blue Glass Arrow.svg MediaWiki logo.png
Эта страница была автоматически перемещена с old.wiki.etersoft.ru.
Эта страница наверняка требует чистки и улучшения — смело правьте разметку и ссылки.
Просьба по окончанию убрать этот шаблон со страницы.




Необходимо для сборки

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

5) wininst SDK 1.1

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

Для сборки MSI требуется 2 по-разному сконфигурированных дерева исходников 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/


Ссылки

http://pgolub.wordpress.com/2008/12/15/building-postgresql-client-library-using-mingw-under-winxp-sp3/