Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: oakhead от Октябрь 05, 2008, 10:35



Название: Qt 4.4.3 не собирается с postgresql
Отправлено: oakhead от Октябрь 05, 2008, 10:35
Добрый всем день!
Столкнулся в Win XP с проблемой : собираю Qt Free Edition для mingw, хочу собрать его для работы с Postgresql. Установил Postgres 8.4.3, в configure задал
-platform win32-g++ -I c:\postgresql\include -L c:\postgresql\lib
Сборка кончается с ошибкой cannot find -lpq
Пробовал указать -l c:\postgresql\lib\libpq.lib, говорит - не могу найти файл libpq.lib
Естественно, файл libpq.lib по указанному пути лежит.


Название: Re: Qt 4.4.3 не собирается с postgresql
Отправлено: spirit от Октябрь 05, 2008, 10:46
надо заюзать reimp для либ postgresql, чтобы создать статические либы которые mingw понимает.


Название: Re: Qt 4.4.3 не собирается с postgresql
Отправлено: -QT- от Октябрь 09, 2008, 13:17
Доброго времени суток All !
Не буду открывать новый пост проблема аналогична.
При сборке:
Код:
PostgreSQL auto-detection... ()
g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/linux-g++ -I. -I/usr/include/postgresql -I. -o psql.o psql.cpp
g++  -o psql psql.o     -L/usr/lib -lpgport -lpam -lssl -lcrypto -lkrb5 -lcom_err -lz -lreadline -lcrypt -lresolv -lnsl -ldl -lm -lpq
/usr/bin/ld: cannot find -lpam

Поиск в гугле, да и сдесь дал пустоту.
Поделитесь мыслями что это такое.


Название: Re: Qt 4.4.3 не собирается с postgresql
Отправлено: BRE от Октябрь 09, 2008, 13:25
Доброго времени суток All !
Не буду открывать новый пост проблема аналогична.
При сборке:
Код:
PostgreSQL auto-detection... ()
g++ -c -pipe -O2 -Wall -W  -I../../../mkspecs/linux-g++ -I. -I/usr/include/postgresql -I. -o psql.o psql.cpp
g++  -o psql psql.o     -L/usr/lib -lpgport -lpam -lssl -lcrypto -lkrb5 -lcom_err -lz -lreadline -lcrypt -lresolv -lnsl -ldl -lm -lpq
/usr/bin/ld: cannot find -lpam

Поиск в гугле, да и сдесь дал пустоту.
Поделитесь мыслями что это такое.
[...]$ rpm -qi pam
Name        : pam                          Relocations: (not relocatable)
Version     : 0.99.6.2                          Vendor: Red Hat, Inc.
Release     : 3.22.fc6                      Build Date: Срд 30 Май 2007 13:34:37
Install Date: Срд 13 Июн 2007 12:44:20      Build Host: ls20-bc1-13.build.redhat.com
Group       : System Environment/Base       Source RPM: pam-0.99.6.2-3.22.fc6.src.rpm
Size        : 2333511                          License: GPL or BSD
Signature   : DSA/SHA1, Пнд 11 Июн 2007 22:59:32, Key ID b44269d04f2a6fd2
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.us.kernel.org/pub/linux/libs/pam/index.html
Summary     : A security tool which provides authentication for applications
Description :
PAM (Pluggable Authentication Modules) - это системное средство
безопасности, которое позволяет системным администраторам устанавливать
политику аутентификации без пересборки программ.


Название: Re: Qt 4.4.3 не собирается с postgresql
Отправлено: pastor от Октябрь 09, 2008, 13:26
Поиск в гугле, да и сдесь дал пустоту.
Поделитесь мыслями что это такое.

Первая же ссылка в гугле:

http://www.openldap.org/lists/openldap-software/200211/msg00681.html

Другими словами, посомтри, установлен ли пакет pam-devel


Название: Re: Qt 4.4.3 не собирается с postgresql
Отправлено: -QT- от Октябрь 09, 2008, 13:54
Это был пакет:
libpam0g-dev

Всем спасибо собираю дальше...


Название: Re: Qt 4.4.3 не собирается с postgresql
Отправлено: oakhead от Октябрь 14, 2008, 12:36
Проблему решил, спасибо уважаемому spirit за наводку.
Опишу по шагам, чтоб не забыть, да и мож пригодится кому...
postgres лучше установить в какое-нибудь более вменяемое место, нежели program files\v.s\
Из каталога postgres\lib
1. reimp libpq.lib
2. появятся два файла - liblibpq.a и libpq.def
3. В файле libpq.def у определений убираем ведущий символ "_".
4. dlltool --input-def libpq.def --output-lib libpq.a --dllname libpq.dll
Появился искомый libpq.a, сборка прошла успешно.