PSI 0.11 (beta)

Имея QT версии 4.1-pre1 решил собрать PSI-0.11-beta.

Все необходимые ебилды можно взять здесь: http://www.zugaina.org/gentoo/
Проблема с компиляцией sys-devel/qconf-cvs-1.1:

g++ -c -pipe -O2 -Wall -W -D_REENTRANT  -DDATADIR="/usr/share" -DQT_NO_DEBUG -DQT_XML_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtXml -I/usr/include/qt4 -I. -I. -o qconf.o src/qconf.cpp
src/qconf.cpp: In function `int main(int, char**)':
src/qconf.cpp:1269: error: `usr' was not declared in this scope
src/qconf.cpp:1269: error: `share' was not declared in this scope
src/qconf.cpp:1269: error: expected primary-expression before '(' token
src/qconf.cpp:1269: error: expected primary-expression before '/' token
src/qconf.cpp:1271: error: expected primary-expression before '(' token
src/qconf.cpp:1271: error: expected primary-expression before '/' token
make: *** [qconf.o] Ошибка 1

!!! ERROR: sys-devel/qconf-cvs-1.1 failed.
Call stack:
  ebuild.sh, line 1539:   Called dyn_compile
  ebuild.sh, line 939:   Called src_compile
  qconf-cvs-1.1.ebuild, line 22:   Called die

!!! (no error message)
!!! If you need support, post the topmost build error, and the call stack if relevant.

!!! This ebuild is from an overlay: '/usr/local/portage'

Ошибки вроде бы пустяковые. Копание в сырцах позваляет устранить половину из них (играя с QString), но вот с остальными - никак. Причем в той строке, на которую указывает gcc, на мой взгляд, все в порядке.

С QT более ранней версии у меня все собиралось. Потом я обновил QT и уже собранная версия psi работала без проблем.

Кому-нибудь удалось собрать psi (qconf-cvs) с QT 4.2? Возможно ли это?

QT'шные кодеры,

QT'шные кодеры, может решим проблему сами?

Изначально компилятор выдает такие ошибки:

src/qconf.cpp: In function `int main(int, char**)':
src/qconf.cpp:1269: error: `usr' was not declared in this scope
src/qconf.cpp:1269: error: `share' was not declared in this scope
src/qconf.cpp:1269: error: expected primary-expression before '(' token
src/qconf.cpp:1269: error: expected primary-expression before '/' token
src/qconf.cpp:1271: error: expected primary-expression before '(' token
src/qconf.cpp:1271: error: expected primary-expression before '/' token
make: *** [qconf.o] Ошибка 1

Если заменить следующие строки:

1269: moddirs += QString(DATADIR) + "/qconf/modules";
1271: QDir confdir(QString(DATADIR) + "/qconf/conf");

на

1269: moddirs += QString("%1%2").arg(DATADIR).arg("/qconf/modules");
1271: QDir confdir(QString("%1%2").arg(DATADIR).arg("/qconf/conf"));

то ошибки становятся такими:

src/qconf.cpp: In function `int main(int, char**)':
src/qconf.cpp:1269: error: expected primary-expression before '/' token
src/qconf.cpp:1269: error: `usr' was not declared in this scope
src/qconf.cpp:1269: error: `share' was not declared in this scope
src/qconf.cpp:1271: error: expected primary-expression before '/' token
make: *** [qconf.o] Ошибка 1

Вот тут уж я не могу найти где причина...

Все, проблема

Все, проблема решена. Оказывается DATADIR не был объявлен.
Так как упоминается он всего в двух местах, я просто заменил его на "/usr/share/" и пакет собрался.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".