egor2fsys Posted October 8, 2007 Posted October 8, 2007 По материалам тем http://local.com.ua/forum/index.php?showtopic=9355 и http://local.com.ua/forum/index.php?showtopic=9621 Предрелизная сборка с максимальным исправлением ошибок. Сборка находится здесь: http://stg.dp.ua/download/server/2.404.9.7...404.9.7.src.tgz Что исправлено/изменено/добавлено: 1. Новая система сборки. Скрипт build выполняет функции аналогичные configure в autotools и запускает make. При запуске без параметров конфигурирует сборку релиза: без вывода лога и в режиме дэмона. При этом включается оптимизация -O2. С параметром debug (./build debug) создается отладочная сборка: с выводом консольного лога и без перехода в режим дэмона. Оптимизация не включается. build проверяет наличие библиотеки expat - без нее сборка не произойдет. Так же он проверяет наличие библиотеки fbclient. Если она будет найдена - в дополнение к файловому модулю собирается модуль Firebird. После одного запуска скрипта можно дальше собирать простым запуском make. Параллельная сборка (с ключем -j<num> для make) подерживается. make libs - сборка библиотек без сборки сервера. make plugins - сборка плагинов без сборки сервера. 2. Установка. Скриптов install* больше нет. Установка происходит после сборки вызовом make install - устанавливает бинарники, базу и конфиги; make install-bin - устанавливает только бинарники; make install-data - устанавливает только базу и конфиги. 3. Удаление. Аналогично make install только unistall (uninstall/uninstall-bin/uninstall-data) 4. Конфигурирование сборки/установки. До запуска ./build можно поправить переменные в заголовке скрипта. После запуска ./build - переменные в файле Makefile.conf, находящемся в самом корневом каталоге сборки. Описание параметров конфигурирования будет потом в документации к релизу. 5. Пофикшены все известные баги firebird (в т.ч. невозможность создания пользователей/админов/тарифов начинающихся с буквы z), добавлено экранирование всех текстовых параметров (теперь можно использовать скобки/кавычки/слеши и т.д.), слегка улучшена производительность модуля, часть логики вынесена в хранимые процедуры (доступно инкрементное обновление базы с помощью скрипта projects/stargazer/inst/var/inc.sql), free_mb теперь имеет правильный тип. В таблицы заносятся временные метки от сервера, а не 'now' от СУБД (проблемы при различных timezone для stg и Firebird). Пофикшен баг с DayFee = 0 и DayResetTraff = 0. Раньше при таких параметрах абонка вобще не снималась и трафик не сбрасывался. Теперь при 0 снятие/сброс происходит в последний день месяца (например, с 30 на 31 число в 00:00). 6. Начато добавление патчей для поддержки модулей от Max (mysql, netflow, etc.) "из коробки". Сейчас изменено поле длины пакета в raw_ip_packet.h - с 16 на 32 бита для поддержки netflow. 7. Для разработчиков. Внимание! Изменена структура PRIV с правами админа. Теперь это не битовые поля а uint32_t-поля. В связи с этим изменения затронули модуль Firebird и модуль конфигуратора. Дополнительная инфа к сборке: теперь все зависимости библиотек и модулей прописаны в самих библиотеках и модулях, а не разрешаются при линковке к ядру (из дискуссии отсюда: http://local.com.ua/forum/index.php?act=ST&f=4&t=9466 и патчей для ALT Linux). Update 12/10/2k7: * stg_timer.cpp - fixed * convertor - fixed and improoved * rscriptd building - fixed * sgconf - included * passive time for users - startup setting fixed * userConf & userStat admin flags - fixed * sgconf sending messages - fixed Просьба отписываться только по обнаруженным ошибкам, все остальные посты будут удаляться.
Ork Yason Posted October 10, 2007 Posted October 10, 2007 1. забыли КК в дистрибутив добавить 2. конвертатор ни в какую не желает работать, натужно думает и вываливается без единого сообщение - база пустая
egor2fsys Posted October 10, 2007 Author Posted October 10, 2007 1. забыли КК в дистрибутив добавить2. конвертатор ни в какую не желает работать, натужно думает и вываливается без единого сообщение - база пустая 1. КК можно взять от прошлого релиза. Исправление ошибок по КК в процессе. 2. Правильно ли настроены ли конфиги в папках file и firebird ?
Spikesh Posted October 12, 2007 Posted October 12, 2007 При установке данной версии обнаружился следущий баг со временем: Привожу логи запуска: 2007-10-12 14:24:05 -- Stg v. Stg 2.403b 2007-10-12 14:24:05 -- Message queue created successfully. msgKey=5555 msgID=98304 2007-10-30 23:57:00 -- Timer thread started successfully. 2007-10-30 23:57:00 -- Storage plugin: file_store v.1.02. Loading successfull. 2007-10-30 23:57:00 -- Users started successfully. 2007-10-30 23:57:00 -- Traffcounter started successfully. 2007-10-30 23:57:00 -- Module: 'Ether_cap v.1.0'. Start successfull. 10 2007-10-30 23:57:00 -- Module: 'InetAccess authorizator v.1.1'. Start successfull. 50 2007-10-30 23:57:00 -- Module: 'Always Online authorizator v.1.0'. Start successfull. 70 2007-10-30 23:57:00 -- Module: 'Pinger v.1.01'. Start successfull. 100 2007-10-30 23:57:00 -- Module: 'Stg configurator v.0.05'. Start successfull. 220 2007-10-30 23:57:00 -- Stg started successfully. 2007-10-30 23:57:00 -- +++++++++++++++++++++++++++++++++++++++++++++ т.е. начинает запускаться с нормальным временем, затем он начинает писать хз выдуманную дату и время, в то время как на сервере время нормальное, т.е. не меняется.
Genius Posted October 12, 2007 Posted October 12, 2007 В stg_timer.cpp объявлен debug времени для запуска за 3 минуты до конца месяца, видимо забыли убрать. Замените строчку #define STG_TIMER_DEBUG (1) в самом начале этого файла на //#define STG_TIMER_DEBUG (1) и все будет нормально.
egor2fsys Posted October 12, 2007 Author Posted October 12, 2007 Обновлена сборка: * stg_timer.cpp - fixed * convertor - fixed and improoved * rscriptd building - fixed * sgconf - included * passive time for users - startup setting fixed * userConf & userStat admin flags - fixed * sgconf sending messages - fixed http://www.rapidshare.ru/428932 Более подробное описание - позже.
Drool Posted October 13, 2007 Posted October 13, 2007 Обновлена сборка:[skip] http://www.rapidshare.ru/428932 Попытка собрать на x86_64: g++ -c traffcounter.cpp -O2 -Wall -I /usr/src/RPM/BUILD/stg-2.4-2007.10.12-15.36.05/projects/stargazer/../../include -DLINUX g++ -c user.cpp -O2 -Wall -I /usr/src/RPM/BUILD/stg-2.4-2007.10.12-15.36.05/projects/stargazer/../../include -DLINUX g++ -c user_property.cpp -O2 -Wall -I /usr/src/RPM/BUILD/stg-2.4-2007.10.12-15.36.05/projects/stargazer/../../include -DLINUX user.cpp: In member function 'int USER::AddMessage(STG_MSG*)': user.cpp:1325: internal compiler error: in reg_or_subregno, at jump.c:2015 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.altlinux.ru/> for instructions. g++ -c users.cpp -O2 -Wall -I /usr/src/RPM/BUILD/stg-2.4-2007.10.12-15.36.05/projects/stargazer/../../include -DLINUX g++ -c plugin_runner.cpp -O2 -Wall -I /usr/src/RPM/BUILD/stg-2.4-2007.10.12-15.36.05/projects/stargazer/../../include -DLINUX Preprocessed source stored into /usr/src/tmp/cc72iUNW.out file, please attach this to your bugreport. gmake: *** [user.o] Error 1 gmake: *** Waiting for unfinished jobs....
Drool Posted October 13, 2007 Posted October 13, 2007 Preprocessed source stored into /usr/src/tmp/cc72iUNW.out file, please attach this to your bugreport. Ой, забыл совсем: http://fly.osdn.org.ua/~drool/stargazer/cc72iUNW.out.tar.bz2
madf Posted October 14, 2007 Posted October 14, 2007 user.cpp:1325: internal compiler error: in reg_or_subregno, at jump.c:2015Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://bugzilla.altlinux.ru/> for instructions. ... Preprocessed source stored into /usr/src/tmp/cc72iUNW.out file, please attach this to your bugreport. gmake: *** [user.o] Error 1 gmake: *** Waiting for unfinished jobs.... Внутренняя ошибка компилятора. Интересно, какая версия gcc? Багрепорт не нам, а разработчика gcc
Drool Posted October 14, 2007 Posted October 14, 2007 Внутренняя ошибка компилятора. Интересно, какая версия gcc? gcc4.1-4.1.1-alt11 Ошибка воспроизводится стабильно. Грешить на багу компилятора сложно, так как им собран 3-й по количеству пакетов в мире репозиторий. P.S. У кого-нибудь на каком-то дистрибутиве старгайзер собрался для ванильного x86_64, не считая биарч?
madf Posted October 14, 2007 Posted October 14, 2007 Internal compiler error - внутренняя ошибка компилятора. Кусочек кода, на который он ругнулся не менялся уже довольно давно. Может в коде и скрыта ошибка, но как минимум в компиляторе она есть - такое сообщение не должно вылазить даже для самого срашного и глючного кода.
Drool Posted October 15, 2007 Posted October 15, 2007 Кусочек кода, на который он ругнулся не менялся уже довольно давно. Может потому и не собирается для 64? :-) К сожалению имею доступ к сборочному роботу на x86_64 только под ALT Linux. У кого-то есть возможность проверить?
madf Posted October 15, 2007 Posted October 15, 2007 Сегодня попробую получить доступ к 64-битной Убунте
madf Posted October 16, 2007 Posted October 16, 2007 Повторил ошибку на $ gcc --version gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4) $ uname -a Linux bubunta 2.6.17-10-generic #2 SMP Fri Oct 13 15:34:39 UTC 2006 x86_64 GNU/Linux Посмотрю что можно сделать...
Drool Posted October 16, 2007 Posted October 16, 2007 Повторил ошибку на $ gcc --version gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4) $ uname -a Linux bubunta 2.6.17-10-generic #2 SMP Fri Oct 13 15:34:39 UTC 2006 x86_64 GNU/Linux Посмотрю что можно сделать... Попробую узнать можно ли выделить Вам место на сборочном роботе под x86_64 для починки. Если дадут - будет, естессно, ALT :-) Со всеми вытекающими --as-needed ;-)
Ork Yason Posted October 16, 2007 Posted October 16, 2007 уууууууууу ну что ж такое 2007-10-16 10:57:38 -- Module: 'Stg configurator v.0.05'. Stop successfull. 2007-10-16 10:57:38 -- Module: 'Pinger v.1.01'. Stop successfull. 2007-10-16 10:57:38 -- Module: 'Always Online authorizator v.1.0'. Stop successfull. 2007-10-16 10:57:41 -- Module: 'InetAccess authorizator v.1.1'. Stop successfull. 2007-10-16 10:57:41 -- Module: 'Ether_cap v.1.0'. Stop successfull. 2007-10-16 10:57:42 -- Traffcounter: Stop successfull. 2007-10-16 10:57:42 -- Stg v. Stg 2.403b 2007-10-16 10:57:42 -- Message queue created successfully. msgKey=5555 msgID=196608 2007-10-16 10:57:42 -- Timer thread started successfully. 2007-10-16 10:57:42 -- Storage plugin: file_store v.1.02. Loading successfull. 2007-10-16 10:57:42 -- Error: Plugin loading failed. /usr/lib/stg/mod_cap_ipq.so: undefined symbol: _Z18ipq_destroy_handleP10ipq_handle 2007-10-16 10:57:42 -- Traffcounter: Stop successfull. 2007-10-16 10:57:42 -- Users: Stop successfull. 2007-10-16 10:57:43 -- Queue removed successfully. 2007-10-16 10:57:43 -- StgTimer: Stop successfull. 2007-10-16 10:57:43 -- Stg stopped successfully. релиз от 20.09 взвелся на ура...
madf Posted October 16, 2007 Posted October 16, 2007 2007-10-16 10:57:42 -- Error: Plugin loading failed. /usr/lib/stg/mod_cap_ipq.so: undefined symbol: _Z18ipq_destroy_handleP10ipq_handle Пардон! Заменить SRCS = ./ipq_cap.cpp на SRCS = ./ipq_cap.cpp \ ./libipq.c в файле projects/stargazer/plugins/capture/ipq_linux/Makefile
Drool Posted October 16, 2007 Posted October 16, 2007 По идее --as-needed уже не должны волновать У меня сложилось впечатление что все еще волнуют. Боюсь, что пост выше из-за отсутствия --as-needed в дистрибутиве человека привел именно к критическому унресолведу. Хоть эта фича и затрудняет написание кода, но таки есть большая польза. P.S. Место на сборочном роботе дают, подробности ушли личкой. Всем страждущим придется подождать, если это починится и соберется на альте - соберется и заработает везде
madf Posted October 16, 2007 Posted October 16, 2007 У меня сложилось впечатление что все еще волнуют. Боюсь, что пост выше из-за отсутствия --as-needed в дистрибутиве человека привел именно к критическому унресолведу. Нет, это просто издержки перехода на новую систему сборки. Прошляпил один файлик.
Drool Posted October 16, 2007 Posted October 16, 2007 Нет, это просто издержки перехода на новую систему сборки. Прошляпил один файлик. Да нет, не только это. У меня при сборке унресолведы сыпались как из рога изобилия
Drool Posted October 16, 2007 Posted October 16, 2007 Повторил ошибку на $ gcc --version gcc (GCC) 4.1.2 (Ubuntu 4.1.2-0ubuntu4) $ uname -a Linux bubunta 2.6.17-10-generic #2 SMP Fri Oct 13 15:34:39 UTC 2006 x86_64 GNU/Linux Посмотрю что можно сделать... Нужно еще не забывать, что в x86_64 либы лежат не в /usr/lib а в /usr/lib64. Нужно вставлять какой-то механизм проверки. В rpm-based дистрибутивах встречается переменная %_lib которая равна либо /lib либо /lib64. А вот как сделать не на rpm-based - не знаю. Но как-то делают.
Recommended Posts