Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Perl: Общие вопросы > модуль DBD::Pg


Автор: saint 26.1.2006, 09:51
Господа, кто-нить ставил сабж?

Windows Server 2003 Enterprise
PostgreSQL 8.0.3
ActivePerl 5.8.7 Build 813
Visual Studio 2003 .NET Enterprise
DBD-Pg-1.43.tar.gz и DBD-Pg-1.41.tar.gz

вот что выдает команда

Код

> nmake /F win32.mak


Код

echo #define PGBINDIR "" >"..\..\port\pg_config_paths.h"
The system cannot find the path specified.
NMAKE : fatal error U1077: 'echo' : return code '0x1'
Stop.


Читал файл README.win32 из пакета DBD-Pg-1.43.tar.gz. Не понял там некоторые моменты. Может кто-нить мог бы разъяснить как толком ставить этом модуль? Плз.

Листинг файла README.win32:

Код

How to get a working DBD::Pg on Windows

Start with:
MS VC++.Net Standard Edition
MS VC++ Toolkit 2003
Latest PostgreSQL (e.g. postgresql-8.00.rc2.tar.gz)
Latest Perl (e.g. perl-5.8.6.tar.gz)
Latest DBI (e.g. DBI-1.46.tar.gz)
Latest DBD::Pg (1.40 or higher)
Custom "win32.mak" file (included with DBD::Pg)

Unpack the .tar.gz files in c:\tmp

Save win32.mak as src\bin\pg_config\win32.mak in postgres tree.

1. In Windows command window, set up to compile:

set PATH=C:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\bin;%PATH%
set PATH=C:\Program Files\Microsoft Visual C++ Toolkit 2003\bin;%PATH%
vcvars32

2. Run win32 make for postgresql:

cd \tmp\postgresql-8.0.0rc2\src
nmake -f win32.mak

3. Make pg_config.exe (not part of standard MSVC build), and copy it out:

cd bin\pg_config
nmake -f win32.mak
copy Release\pg_config.exe \tmp\DBD-Pg-1.42

4. Install lib and include to some permanent location like this:

mkdir c:\postgres
mkdir c:\postgres\lib
mkdir c:\postgres\include
cd ..\..\interfaces\libpq\Release
copy libpq* c:\postgres\lib
cd ..\..\..
xcopy /s include c:\postgres\include
xcopy \tmp\postgresql-8.0.3\src\interfaces\libpq\libpg-fe.h c:\postgres\include


5. Make a non-threaded perl, like this:

cd \tmp\perl-5.8.6\win32

in Makefile, 
.. change the install location thus:
      INST_TOP        = $(INST_DRV)\myperl
.. comment out the following lines
  USE_MULTI = define
  USE_ITHREADS = define
  USE_IMP_SYS = define
.. change both instances of deprecated '-Gf' flag to '-GF'

then just run:

nmake
nmake test
nmake install
  
5. Add new perl to path:

set PATH=c:\myperl\bin;%PATH%

6. Make and install DBI:

cd \tmp\DBI-1.46
perl Makefile.PL
nmake
nmake test
nmake install

7. Set up environment for DBD::Pg:

set POSTGRES_LIB=c:\postgres\lib
set POSTGRES_INCLUDE=c:\postgres\include

8. Build DBD::Pg:

cd \tmp\DBD-Pg1.42
perl Makefile.PL (when asked for pg_config path, say: .\pg_config.exe )
nmake

9. Test and install

You should now be able to set things up for normal DBD::Pg testing, 
which you can invoke via "nmake test"

Then install using "nmake install"

If you have any problems or questions, please email the DBD::Pg 
mailing list: dbdpg-general@gborg.postgresql.org


Заранее благодарен.

Автор: korob2001 26.1.2006, 10:25
А почему не через ppm?

ppm install DBD-Pg

Автор: saint 26.1.2006, 19:01
потому что ppm не находит этот модуль, и на сайте активстейт-ппм написано что данная версия модуля под винду через ппм не ставится. Предполагаю что это из-за того что для установки DBD-Pg нужен Visual C++ smile

Автор: korob2001 26.1.2006, 20:11
Добавь репозиторий The Oryx в ppm:

1. В командной строке дай команду
Код

C:\>ppm

2. Затем такую:
Код

ppm>rep add "The Oryx" http://theoryx5.uwinnipeg.ca/cgi-bin/ppmserver?urn:/PPMServer58

3. Затем:
Код

ppm>s DBD::Pg

4. После увидешь пронумерованный список найденых модулей у меня ppm находит их 6 или 7 штук. Дай команду:
Код

ppm>i номер-модуля-из-списка


Вот и всё.

PS: А то, что этот модуль не ставится через ppm, это только на ActiveState так считают smile Кстити, после всего проделанного, ты сможешь устанавливать и некоторое другие замечательные модули, которые не доступны из стандартного репозитория ActiveState, для версии Perl 5.8.x, например: mod_perl, GD, да и ещё много чего.

Автор: saint 27.1.2006, 00:49
Поставилось, без всякой компиляции, просто раскидало файлы по нужным папкам. Буду проверять работоспособность smile Только у меня нашло всего 2 шт. Благодарю.

Автор: korob2001 27.1.2006, 01:35
Цитата

Только у меня нашло всего 2 шт.

У меня ещё в добавок 2 репозитория добалены Bribes и Crazy, но это я их так называю. ;)))) Если хочешь могу выложить их адреса? Тогда вообще навсегда забудешь про компиляцию модулей с помощью Visual C++. Хотя конечно есть модули которые есть на CPAN, но нет их в этих репозиториях.

Автор: BlackLFL 27.1.2006, 10:35
korob2001 а я все модули компилю, романтика smile

Автор: saint 27.1.2006, 11:18
Цитата("korob2001")

Если хочешь могу выложить их адреса?


Конечно выложи smile

Автор: sharq 27.1.2006, 11:28
saint почитай статью "Установка perl-модулей", можно скачать http://forum.vingrad.ru/index.php?act=Attach&type=post&id=514481.
Там есть перечень известных репозитариев, ссылки на момент написания статьи валидны.
Сейчас надеюсь тоже.

smile

Автор: korob2001 27.1.2006, 16:46
Цитата(BlackLFL @ 27.1.2006, 07:35 Найти цитируемый пост)

korob2001 а я все модули компилю, романтика

Ну это уже дело личное. smile
Цитата(saint @ 27.1.2006, 08:18 Найти цитируемый пост)

Конечно выложи

Читай статью sharq, там помоему они есть, а так же и ещё некоторые.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)