Jump to content

Новая сборка СТГ 2.4


Recommended Posts

ааааааааааааааааааааааааааааа!!!!

тарифы, админов перенес...

 

main.cpp > 15:40:54 > Importing users:

main.cpp > 15:40:54 > - Popov_Konstantin

firebird_store_users.cpp > 15:40:54 > *** IBPP::SQLException ***

Context: Statement::Execute( update tb_users set address = ?, always_online = ?, credit = ?, credit_expire = ?, disabled = ?, email = ?, grp = ?, note = ?, passive = ?, passwd = ?, phone = ?, fk_tariff = (select pk_tariff from tb_tariffs where name = ?), fk_tariff_change = (select pk_tariff from tb_tariffs where name = ?), fk_corporation = (select pk_corporation from tb_corporations where name = ?), real_name = ? where pk_user = ? )

Message: isc_dsql_execute2 failed

 

SQL Message : -413

can't format message 13:587 -- message file /opt/firebird/firebird.msg not fo main.cpp > 15:40:54 > Error saving user's conf: IBPP exception

Link to post
Share on other sites
  • Replies 545
  • Created
  • Last Reply

Top Posters In This Topic

stglibs/common.lib/common.cpp:78

 

Замените 1024 на, скажем, 4096, соберите заново и еще раз получите эту ошибку. fbclient очень многословен - не влазит в буфер :)

Link to post
Share on other sites

unresolved'ы плагинов не могут не быть. Это, фактически, API сервера. Функции импортируемые из ядра. Там только в mod_cap_ipq.so несколько незаконных unresolved - см. решение тут.

Link to post
Share on other sites

main.cpp > 10:17:21 > - Popov_Konstantin

main.cpp > 10:17:21 > (adding passed)

firebird_store_users.cpp > 10:17:21 > *** IBPP::SQLException ***

Context: Statement::Execute( update tb_users set address = ?, always_online = ?, credit = ?, credit_expire = ?, disabled = ?, email = ?, grp = ?, note = ?, passive = ?, passwd = ?, phone = ?, fk_tariff = (select pk_tariff from tb_tariffs where name = ?), fk_tariff_change = (select pk_tariff from tb_tariffs where name = ?), fk_corporation = (select pk_corporation from tb_corporations where name = ?), real_name = ? where pk_user = ? )

Message: isc_dsql_execute2 failed

 

SQL Message : -413

can't format message 13:587 -- message file /opt/firebird/firebird.msg not found

 

Engine Code : 335544334

Engine Message :

conversion error from string "F"

 

 

гыгы

эт какое поле он пытается перевести?!

Link to post
Share on other sites
conversion error from string "F"

 

 

гыгы

эт какое поле он пытается перевести?!

О, отлично!

Так, 00-base-00.sql точно последний? Там на каком-то из старых это наблюдалось. Это какое-то из булевых полей.

Link to post
Share on other sites
unresolved'ы плагинов не могут не быть. Это, фактически, API сервера. Функции импортируемые из ядра. Там только в mod_cap_ipq.so несколько незаконных unresolved - см. решение тут.

А откуда десятки "RPATH entry contains" ?

Link to post
Share on other sites

Для .so-шек я добавляю два элемента RPATH: сборочный каталог для возможности запуска из места сборки и каталог установки (дабы не заморачиваться с конфигурированием ld.so-кэша). Я так понимаю, оно ругается на то, что RPATH содержит нестандартные пути расположения библиотек. Интересно, почему...

Link to post
Share on other sites

Почитал про verify-elf. Подумал. Может, включать сборочный каталог в RPATH только для отладочных билдов?

Кто-нибуть запускает рабочий сервер без установки?

Link to post
Share on other sites
Почитал про verify-elf. Подумал. Может, включать сборочный каталог в RPATH только для отладочных билдов?

Кто-нибуть запускает рабочий сервер без установки?

Такое чаще бздяшники практикуют... Я лично сразу делаю rpm-пакет - проще управлять/удалять/обновлять.

Link to post
Share on other sites
Почитал про verify-elf. Подумал. Может, включать сборочный каталог в RPATH только для отладочных билдов?

Кто-нибуть запускает рабочий сервер без установки?

Кстати, я заметил отсутствие -fPIC, о которых когда-то мне поясняли что оно и зачем. Я их добавляю в спеке при сборке таким образом:

subst 's|gmake|gmake CFLAGS="%optflags -fPIC"|g' ./build

Получается вроде такого:

g++ -c admin.cpp -pipe -Wall -O2 -march=i686 -mtune=i686 -fPIC

Или не нужно? Что с ним, что без - "RPATH entry contains" сыпятся щедро, только без -fPIC еще наблюдаю такое:

/usr/bin/ld: warning: creating a DT_TEXTREL in a shared object.

Link to post
Share on other sites
Кстати, я заметил отсутствие -fPIC, о которых когда-то мне поясняли что оно и зачем. Я их добавляю в спеке при сборке таким образом:

subst 's|gmake|gmake CFLAGS="%optflags -fPIC"|g' ./build

Получается вроде такого:

g++ -c admin.cpp -pipe -Wall -O2 -march=i686 -mtune=i686 -fPIC

Все! Сам дурак! Это CFLAGS="%optflags" подменяет это дело. Значит нужно именно CFLAGS="%optflags -fPIC"

Link to post
Share on other sites
завелось

 

прошу прощения, скрипт базы был от сентябрьского обновления

 

все внеслось

Отлично! Жду отзывов :)

Link to post
Share on other sites
Кстати, я заметил отсутствие -fPIC, о которых когда-то мне поясняли что оно и зачем. Я их добавляю в спеке при сборке таким образом:

subst 's|gmake|gmake CFLAGS="%optflags -fPIC"|g' ./build

Получается вроде такого:

g++ -c admin.cpp -pipe -Wall -O2 -march=i686 -mtune=i686 -fPIC

Или не нужно? Что с ним, что без - "RPATH entry contains" сыпятся щедро, только без -fPIC еще наблюдаю такое:

/usr/bin/ld: warning: creating a DT_TEXTREL in a shared object.

-fPIC указывает компилятору генерировать позиционно-независимый код. Это абсолютно необходимо для динамический библиотек aka .so-файлов. Собственно, в stglibs и в плагинах он везде есть. В приведенном кусочке лога он совершенно не нужен, т.к. admin.cpp - это часть ядра Stg, а не кусок библиотеки.

Ворнинг /usr/bin/ld: warning: creating a DT_TEXTREL in a shared object говорит о том, что в .so при компоновке попадает не позиционно-независимый код. Хотелось бы увидеть предыдущую строчку лога, в которой указывается, что это собирается и из чего.

Link to post
Share on other sites
В приведенном кусочке лога он совершенно не нужен, т.к. admin.cpp - это часть ядра Stg, а не кусок библиотеки.

Ворнинг /usr/bin/ld: warning: creating a DT_TEXTREL in a shared object говорит о том, что в .so при компоновке попадает не позиционно-независимый код. Хотелось бы увидеть предыдущую строчку лога, в которой указывается, что это собирается и из чего.

Да это мои кривые попытки ввести оптимизацию под архитектуру процессора. Существующая на данный момент система сборки не реагирует на это дело, и собранный rpm-пакет с ключем --target (например --target athlon) даст на выходе bla-bla.athlon.rpm, но это будет ложно, так как бинарники собирались без -march=athlon -mtune=athlon. Мне нужно только понять куда именно вставить переменную, передающую в CFLAGS ключи оптимизации под конкретную архитектуру. То, куда и как подставляю сейчас я дает это дело во все выражения g++, мне так кажется...

Link to post
Share on other sites

А, ну это просто.

7 и 8 строка скрипта build

Там стоят по умолчанию пустые значения, к которым в процессе настройки билда цепляются необходимые ключи (-g3 для отладочного билда, -O2 для рабочего билда, -fPIC и -Wl,-rpath,<путь> и т.д.). Туда и нужно прописать -march=athlon -mtune=athlon

Link to post
Share on other sites
А, ну это просто.

7 и 8 строка скрипта build

Там стоят по умолчанию пустые значения, к которым в процессе настройки билда цепляются необходимые ключи (-g3 для отладочного билда, -O2 для рабочего билда, -fPIC и -Wl,-rpath,<путь> и т.д.). Туда и нужно прописать -march=athlon -mtune=athlon

Брр.. У меня лыжи не едут... 7 и 8 строки скрипта build совсем не похожи на нужные :-) Может в районе 57? Там, где определяется CFLAGS?

 

P.S. Кстати, по сборочным зависимостям вылез не только gcc, но и gcc++. А определения ключа CXXFLAGS я не нашел.

Link to post
Share on other sites

Да, это я глянул в CVS'ную версию, где я вынес уже эти переменные на "передний план". Лучше вставить перед блоком echo примерно в 178 строке.

stg собирается с помощью g++, т.к. проект написан на С++. Однако, в отличие от Autotools, где для g++ используется CXXFLAGS тут этой переменной нету. Компилятору передается переменная CFLAGS, с которой и надо работать.

Можно закоментировать последнюю строчку скрипта, в которой запускается сборка вызовом gmake и проконтролировать его работу: все сборочные переменные будут определены в файле Makefile.conf, находящемся в самом корневом каталоге stg.

Link to post
Share on other sites
Куда он установлен? В /usr/local ??

Сделай симлинки в /usr

так и сделано:

оригинал /usr/local/include/expat.h

на него симлинк /usr/include/expat.h

 

до последнего билда это проканывало, щас ошибка

Link to post
Share on other sites
Куда он установлен? В /usr/local ??

Сделай симлинки в /usr

так и сделано:

оригинал /usr/local/include/expat.h

на него симлинк /usr/include/expat.h

 

до последнего билда это проканывало, щас ошибка

Нужен не только заголовочный файл, но и сама библиотека. То есть, если expat установлен в /usr/local, то нужно или переконфигурировать ld.so (/etc/ld.so.conf), либо сделать симлинк на /usr/local/lib/libexpat.so в /usr/lib.

Link to post
Share on other sites
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    No registered users viewing this page.


×
×
  • Create New...