gentoo.ru
Официальная конференция Direct Connect клиента EiskaltDC++
eiskaltdc@conference.gentoo.ru
Воскресенье, 4 марта 2012< ^ >
tehnick установил(а) тему: Last stable release: 2.2.6 || Конференция разработчиков EiskaltDC++
Логи: http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2012/
Активность в багтрекере: http://code.google.com/p/eiskaltdc/updates/list
Активность разработки: http://github.com/negativ/eiskaltdcpp/network
Release schedule:
* 2012-03-25 Release EiskaltDC++ 2.2.7
TODO:
* IPv6 in DC++ Core
* Improve Lua support
ADC notes:
https://adc.svn.sourceforge.net/svnroot/adc/trunk/ADC.txt
https://adc.svn.sourceforge.net/svnroot/adc/trunk/ADC-EXT.txt
Git notes:
http://habrahabr.ru/blogs/development/68341/
http://dl.dropbox.com/u/281916/delete/book.pdf
Как удобно передать в проект свои патчи:
http://habrahabr.ru/blogs/Git/125999/
How to pass your patches to the project in convenient way:
https://github.com/blog/712-pull-requests-2-0
Как правильно задавать вопросы:
http://parallel.ru/cluster/smart-questions-ru.html
How To Ask Questions The Smart Way
http://catb.org/%7Eesr/faqs/smart-questions.html
Конфигурация комнаты
Участники комнаты

GMT+4
[00:02:50] <tehnick> Нет.
[00:03:32] <tehnick> flylinkdc: решили таки пофиксить свежий флайлинк под вайн?
[00:03:51] <flylinkdc> почти работает
[00:04:07] <tehnick> И даже иконка в трее? =)
[00:04:08] <flylinkdc> но падает иногда при открытии поиска
[00:04:31] <flylinkdc> .exe: listview.c:6651: LISTVIEW_GetItemT: Проверочное утверждение «lpItem» не выполнено.
fixme:dbghelp:elf_search_auxv can't find symbol in module
fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithHandleData
fixme:dbghelp:elf_search_auxv can't find symbol in module
fixme:dbghelp:MiniDumpWriteDump NIY MiniDumpWithFullMemory
fixme:edit:EDIT_EM_FmtLines soft break enabled, not implemented
[00:04:46] <flylinkdc> exe: listview.c:6651: LISTVIEW_GetItemT: Проверочное утверждение «lpItem» не выполнено
[00:05:07] <flylinkdc> вот тут. и по дампу  не понятно откуда зовется
[00:05:34] <tehnick> Я думаю, что лучше у разработчиков wine спросить.
[00:05:39] <flylinkdc> иконка в убунте есть )
[00:05:54] <flylinkdc> но мне жалуются в оснвоном при падениях
[00:05:55] <tehnick> Она-то есть, но может не реагировать на клик.
[00:10:25] <flylinkdc> это не критично. ее тогда проще выпилить
[00:11:00] <tehnick> flylinkdc: т.е. все-таки не работает?
[00:11:00] <flylinkdc> скачал сорцы wine нашел ту строчку. ничего не понятно )
[00:11:09] <tehnick> flylinkdc: это нормально. =)
[00:11:11] <flylinkdc> счас у мебяч попробую
[00:11:17] <tehnick> Там вообще костыль на костыле.
[00:11:38] <tehnick> Они даже специально ошибки винды портируют, чтобы проги нормально работали.
[00:22:39] <Diger> tehnick: привет
[00:23:19] <Diger> со сборкой пока все плохо, ребята, что Qt портировали ссылаются на занятость, а я самостоятельно не смогу отловить баг
[00:26:29] <tehnick> Diger: печально. А можешь напомнить суть бага?
[00:26:51] <Diger> при запуске падает в Qt либе
[00:27:22] <tehnick> Diger: и gdb тоже не работает, да?
[00:27:36] <Diger> угу
[00:27:38] <Diger> падает
[00:29:56] <Diger> при чем произошло это после перехода на gcc4.6.4, на 4.5.3 все нормально
[00:30:26] <tehnick> Diger: а переход был в гайке или локально у тебя?
[00:30:33] <Diger> в гайке
[00:30:49] <tehnick> Странно.
[00:31:01] <Diger> я могу конечно на старом gcc собрать
[00:31:12] <Diger> но лучше сразу пофиксить
[00:31:26] <tehnick> Diger: не соглашусь.
[00:31:34] <Diger> ?
[00:31:52] <tehnick> Diger: если у пользователей работать будет твоя сборка, то это лучше, чем старая версия.
[00:32:07] <tehnick> Diger: просто мы там много неприятных багов закрыли.
[00:32:21] <tehnick> Diger: можешь вообще из мастер-ветки собирать...
[00:32:42] <tehnick> У пользователей выбор не особо большой.
[00:32:59] <Diger> ну если в ближайшие дни никаких измений не произойдет, откачу gcc
[00:33:02] <tehnick> Они будут рады.
[00:33:09] <tehnick> Хм.
[00:33:21] <tehnick> Diger: а параллельно поставить нельзя?
[00:33:36] <Diger> можно
[00:33:41] <tehnick> Diger: я бы не советовал откатывать. Можешь систему угробить запросто.
[00:34:14] <Diger> ну она 2 минуты устанавливается, так что не страшно
[00:34:54] <tehnick> А настраивается?
[00:35:17] <Diger> никогда не настривал
[00:35:21] <tehnick> Линукс тоже ставится быстро. Зато потом постепенно настраиваешь под себя.
[00:35:32] <Diger> только сглаживание под LCD переключаю
[00:35:47] <tehnick> Блин, я просто не понимаю, ка можно жить с дефолтными настройками?..
[00:36:02] <Diger> дак там же нифига нету лишнего
[00:36:16] <Diger> кедов, гномов и тп
[00:36:17] <tehnick> Я даже винду на работе сразу настроил под себя, хоть и был ограничен в правах на машине.
[00:36:41] <tehnick> Да в любой проге сразу после установки лезу в настройки...
[00:36:46] <Diger> ты вообще сталкивался с BeOS?
[00:36:55] <tehnick> Нет.
[00:37:14] <Diger> вот чем они мне и нравятся - ниче настривать не надо
[00:37:30] <Diger> потому что нечево настраивать :)
[00:37:33] <Diger> http://pastebin.com/m7bVVqiX вот всё что наловил
[00:38:01] <Diger> все остальные проги на Qt нормально  работают
[00:38:23] <tehnick> Diger: даже опера в дефолтной установке не юзабельна, а огнелис вообще надо хорошенько настраивать. И это лишь одна программа (браузер), а в системе много и других примеров...
[00:38:41] <Diger> tehnick: хе, ну ни первого ни второго нету
[00:39:09] <tehnick> Diger: даже псину, которую ты используешь, нужно настраивать.
[00:39:20] <Diger> я профиль переношу
[00:39:29] <Diger> :)
[00:39:42] <tehnick> Diger: а что за браузер у вас?
[00:39:44] <Diger> давай еще примеры
[00:39:55] <tehnick> Что-нибудь на основе вебкита должно быть.
[00:40:02] <Diger> да на webkit'e
[00:40:17] <Diger> ну и туча Qt браузеров
[00:40:43] <Diger> есть еще древняя мозилла - 2-я
[00:41:09] <Diger> а не вру, есть еще Opera -3.5
[00:41:16] <Diger> :-D
[00:41:47] <tehnick> Diger: бектрейс, конечно, бессодержательный. Но все же...
[00:42:15] <Diger> даа, когда-то Opera была только на виндах и BeOS
[00:42:29] <tehnick> Diger: QCoreApplication::arguments () ---> QString::fromLocal8Bit ()
[00:42:36] <Diger> и?
[00:42:55] <tehnick> Ты не пробовал этот код закомментить?
[00:43:09] <Diger> в Qt?
[00:43:14] <tehnick> (Парсинг аргументов при запуске)
[00:43:20] <tehnick> Нет, в айскальте.
[00:43:33] <Diger> думаешь мусор попадает?
[00:43:46] <tehnick> Не знаю.
[00:43:52] <tehnick> Возможно.
[00:43:55] <Diger> щас, попробую
[00:43:59] <tehnick> Еще выполни:
[00:44:14] dhamp вошёл(а) в комнату
[00:44:15] <tehnick> eiskaltdcpp-qt -V
[00:44:24] <tehnick> eiskaltdcpp-qt -h
[00:44:42] <tehnick> Интересно, упадет или нет.
[00:44:46] <Diger> eiskaltdcpp-qt -V
Reimplemented: void  QApplicationPrivate::createEventDispatcher
QProcessManager::QProcessManager()
qt_init()
Reimp: HQApplication::HQApplication
2.2.7 (e677e78)
[00:45:05] <dhamp>     
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
    setlocale(LC_ALL, "");
    EiskaltApp app(argc, argv, _q(dcpp::Util::getLoginName()+"EDCPP"));
    int ret = 0;
    parseCmdLine(app.arguments());
    if (app.isRunning()){
        QStringList args = app.arguments();
        args.removeFirst();//remove path to executable
#ifndef __HAIKU__
        app.sendMessage(args.join("\n"));
#endif
        return 0;
    }
#if !defined (Q_WS_WIN) && !defined (__HAIKU__)
    installHandlers();
#endif
#if defined(FORCE_XDG) && !defined(Q_WS_WIN)
    migrateConfig();
#endif
    dcpp::startup(callBack, NULL);
    dcpp::TimerManager::getInstance()->start();
    HashManager::getInstance()->setPriority(Thread::IDLE);
    
QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8"));
только меня смущает 2 раза задание CodecForCStrings?
[00:45:31] <dhamp> Diger, убери первый QTextCodec::setCodecForCStrings(QTextCodec::codecForName("UTF-8")); и проверь без неё
[00:45:47] <tehnick> Блин, куча пастебинов же. В чате неудобно эту простыню читать..
[00:45:52] <Diger> :)
[00:45:58] <Diger> щас попробую
[00:46:03] <dhamp> tehnick, шерифа особо этьо не волнует же )
[00:46:23] <tehnick> dhamp: не только тебя.
[00:46:32] <tehnick> Видать Негатив спешил.
[00:47:39] <tehnick> dhamp: напомни плз, куда и какие файлы теперь переехали после того твоего коммита?
[00:47:52] <dhamp> tehnick, после какого ?
[00:48:16] <dhamp> tehnick, то что XDG_DATA ?
[00:48:21] <tehnick> Merge remote-tracking branch 'origin/xdg_data' into 2.2.x
[00:48:23] <tehnick> Да.
[00:49:02] <tehnick> Все-таки гуглодевелоперы козлы. Такую фичу полезную удалили...
[00:49:18] <tehnick> Теперь неудобно проекты сопровождать.
[00:49:53] <dhamp> tehnick, если ты про это то в ~/.local/share/eiskaltdc++ для Linux/BSD/etc и home + "/config/data/eiskaltdc++/" для гайки
[00:50:11] <tehnick> А винда?
[00:50:17] <tehnick> Все по прежнему?
[00:50:26] <dhamp> tehnick, а винда у нас не соотв. XDG =P
[00:51:04] <tehnick> dhamp: я про соответствующие #ifdef
[00:51:11] <tehnick> Чтобы регрессий не было...
[00:51:28] <tehnick> dhamp: и да, какие файлы переехали?
[00:51:31] <dhamp> tehnick, для винды стандарты fdo не применить же
[00:52:03] <Diger> а можно DDBUS_NOTIFY=OFF  сделать дефолтно? или авто
[00:52:11] <Diger> каждый раз блин забываю
[00:52:30] <dhamp> tehnick, файллисты, хаблисты, ещё какая -то хрень, grep PATH_USER_LOCAL dcpp тебе в зубы
[00:53:20] <dhamp> Diger, можно но ожидается дождь кирпичей
[00:53:31] <Diger> :-D
[00:53:51] <tehnick> Diger: все-таки никсоидов среди пользователей большинство...
[00:54:18] <Diger> ну DBUS  не везде есть
[00:54:35] <Diger> да и половина cli версию юзает
[00:54:35] <tehnick> Diger: а ты так и не написал обещанный README
[00:54:49] <tehnick> Diger: с инструкциями по сборке в гайке
[00:54:57] <tehnick> Diger: и тебе же было бы проще...
[00:55:07] <tehnick> Просто копи-пастить команды.
[00:55:08] Diger пытается вспомнить
[00:55:22] <tehnick> Diger: это много времени не займет.
[00:55:30] <tehnick> Даже есть просто начать.
[00:55:43] <tehnick> Понемногу приведешь к полезному виду.
[00:55:44] <Diger> да блин каждый раз по разному
[00:55:56] <tehnick> Как ONYX сейчас TODO улучшает.
[00:56:04] <Diger> тут libidn портировал - rk.x jngfk jlby
[00:56:13] <Diger> -*ключ отпал один
[00:56:26] <Diger> с miniupnp  опять непонятки
[00:56:40] <dhamp> Diger, а что не так с упнп?
[00:56:58] <tehnick> Diger: и что? Это совершенно не мешает всегда иметь актуальный README
[00:56:58] <Diger> не собирается, старый нормально
[00:57:13] <dhamp> Diger, старый это какой ?
[00:57:21] <dhamp> и какой не собирается ?
[00:57:37] <Diger> tehnick: в INSTAL же все написано
[00:57:50] <tehnick> Diger: вот надоест тебе, и что, все заново изучать следующему ментейнеру?
[00:58:12] <Diger> там только надо
-DCMAKE_SHARE_DIR=/boot/apps/Eiskaltdcpp -DCMAKE_CLIENT_DATA_DIR=/boot/apps/Eiskaltdcpp
заменить на
-DSHARE_DIR=/boot/apps/Eiskaltdcpp
[00:58:32] <tehnick> Diger: а сборка бандла?
[00:58:36] <Diger> ввиду того что втрого ключа больше нет а второй изначально был неверным :)
[00:58:50] <tehnick> Diger: и ты молчал...
[00:59:21] <dhamp> tehnick, человек просто скромен ) хотя либастрал иногда врёт )
[00:59:21] Diger 'у стыдно
[01:00:54] <tehnick> Diger: в INSTALL не указано -DDBUS_NOTIFY=OFF
[01:01:00] <tehnick> Что еще ты забыл?
[01:01:19] <Diger> кстати да, раньше я вроде не указывал
[01:01:36] <Diger> из INSTALL строчку копировал
[01:02:20] <Diger> tehnick: сборка банда - ручная работа, описать не реально, таких садомазохистов использующих гайку, да еще и собирающих бандл, скорее всего больше нету
[01:02:20] <tehnick> Diger: Про установку пакетов перед сборкой из исходников юзеру еще что-то особое надо знать?
[01:03:00] <tehnick> Diger: значит, нам повезло, пока есть ты... =)
[01:03:08] <Diger> tehnick: не надо, на данный момент пакетник как и репа одна, и все про него знают
[01:03:12] <tehnick> Или, точнее, юзерам повезло.
[01:03:13] <dhamp> Diger, сделай мазохистам плохо напиши скрипт для сборки =)
[01:03:25] <tehnick> +1
[01:04:58] <Diger> dhamp: я каждый раз ручками исходники Qt правлю - ввиду появления/реализации новых функций в гайке.
Как я это в скрипт пропишу?
[01:05:32] <Diger> портировщикам Qt, как я уже писал - не хватает на это времени
[01:07:16] <dhamp> Diger, man sed, patch, awk, ещё дохуя всяких полезняшек =)
[01:07:50] <Diger> хе, если бы все было так просто
[01:09:12] <Diger> dhamp: может из-за Object::connect: No such signal EiskaltApp::messageReceived(QString)
падать?
[01:10:23] <Diger> вот загрузка до падения
http://pastebin.com/7Rdx1tpd
[01:12:25] <dhamp> Diger, иконка в трее вроде создаётся тут     Notification::newInstance();
[01:12:34] <dhamp> и падает вроде там
[01:14:29] <tehnick> Diger: а просто версию и хелп нормально выводит на консоль?
[01:14:45] <Diger> ага
[01:14:52] <dhamp> Diger, по поводу сигнала
$ git diff eiskaltdcpp-qt/
diff --git a/eiskaltdcpp-qt/src/EiskaltApp_haiku.h b/eiskaltdcpp-qt/src/EiskaltApp_haiku.h
index 46646a8..3b94bea 100644
--- a/eiskaltdcpp-qt/src/EiskaltApp_haiku.h
+++ b/eiskaltdcpp-qt/src/EiskaltApp_haiku.h
@@ -105,7 +105,10 @@ public:
     }

     void saveState(QSessionManager &){ /** Do nothing */ }
-
+    
+Q_SIGNALS:
+    void messageReceived(const QString &message);
+    
private:
     EiskaltEventFilter ef;
};
[01:14:54] <Diger> иконка уже в трее висит
[01:15:28] <dhamp> Diger, ищи в Notification.{cpp,h}
[01:15:39] <dhamp> либо сразу после
[01:16:09] <Diger> щас сначала отключу аргументы на запуске
[01:17:17] Kroll вышел(а) из комнаты
[01:17:45] <Diger> tehnick: eiskaltdcpp-qt -h  тоже падает
[01:18:36] <Diger> а не вру, это я отключил агументы :)
[01:19:41] Kroll вошёл(а) в комнату
[01:47:54] dhamp вышел(а) из комнаты
[01:48:01] ONYX сейчас переживает эпичный ремонт, и его доступ к интернету затруднен, но он обязательно все доделает
[01:49:20] <Diger> ONYX: фряху 9-ку уже попробывал?
[01:50:00] <ONYX> на ноуте - да, использую постоянно. на серверах-еще нет
[01:50:36] <Diger> меня больше всего интересует возможность изьять диск из zfs пулла
[01:50:39] <ONYX> надо поподробнее почитать relaese notes, что там нового
[01:50:46] <Diger> вроде обещали реализовать
[01:51:00] <ONYX> Diger: а разве в v28 этого нет?
[01:51:06] <ONYX> или я чота не понимаю
[01:51:25] <Diger> у меня еще 8-ка там 23
[01:51:33] <ONYX> нет, там 28
[01:51:41] <Diger> хм
[01:51:47] <ONYX> в 8-S щас v28
[01:51:53] <Diger> stable?
[01:51:56] <ONYX> ага
[01:52:06] <Diger> ясно, надо обновится
[01:52:28] <ONYX> причем давно. минимум как полгода назад бекпортили
[01:52:51] <Diger> я больше гола не трогал
[01:52:55] <Diger> *года
[01:54:06] <ONYX> ноут вообще раз в пару месяцев обновляю. а серваки надо хотя бы пару раз в год. благо у нас избыточность сервиса есть
[02:17:57] Diger вышел(а) из комнаты
[02:27:44] Alexey вышел(а) из комнаты
[04:58:46] pizzard вышел(а) из комнаты
[07:23:22] Кирилл вошёл(а) в комнату
[08:17:38] ubuntu10.10 вошёл(а) в комнату
[08:19:07] Кирилл вышел(а) из комнаты
[08:22:42] Кирилл вошёл(а) в комнату
[08:23:14] <Кирилл> Техник, привет                                                                         
[08:23:40] <Кирилл> Патчу твой код понемного и возникли проблемы                                                                         
[08:24:29] <Кирилл> Сейчас поясню                                                                         
[08:26:24] <Кирилл> 1. Переписал лямбды                                                                         
[08:26:32] <Кирилл> Ну, почти все                                                                         
[08:27:19] <Кирилл> 2.Воспользовался boost, заменив std::function на boost::function                                                                         
[08:29:24] <Кирилл> http://pastebin.com/rivUPvwT                                                                         
[08:29:40] <Кирилл> Вот такое теперь make выдает                                                                         
[08:30:27] <Кирилл> Е                                                                         
[09:42:31] flylinkdc вышел(а) из комнаты: I'm happy Miranda IM user. Get it at http://miranda-im.org/.
[09:42:43] flylinkdc вошёл(а) в комнату
[09:47:07] Кирилл вышел(а) из комнаты
[09:53:45] flylinkdc вышел(а) из комнаты: I'm happy Miranda IM user. Get it at http://miranda-im.org/.
[09:54:32] flylinkdc вышел(а) из комнаты: Replaced by new connection
[09:54:41] Кирилл вошёл(а) в комнату
[09:54:42] flylinkdc вошёл(а) в комнату
[09:55:04] flylinkdc вошёл(а) в комнату
[09:58:08] Кирилл вышел(а) из комнаты
[09:58:40] tehnick вышел(а) из комнаты
[10:06:56] flylinkdc вышел(а) из комнаты: I'm happy Miranda IM user. Get it at http://miranda-im.org/.
[10:07:06] flylinkdc вошёл(а) в комнату
[10:10:50] flylinkdc вышел(а) из комнаты: I'm happy Miranda IM user. Get it at http://miranda-im.org/.
[10:11:06] flylinkdc вошёл(а) в комнату
[10:12:51] gray_graff вышел(а) из комнаты
[10:12:51] nixtrian|home вышел(а) из комнаты
[10:12:51] Nikoli вышел(а) из комнаты
[10:12:51] Kroll вышел(а) из комнаты
[10:12:51] gray_graff вышел(а) из комнаты
[10:29:40] ubuntu10.10 вышел(а) из комнаты
[10:30:10] ONYX вышел(а) из комнаты
[10:36:28] flylinkdc вышел(а) из комнаты: Replaced by new connection
[10:37:12] flylinkdc вошёл(а) в комнату
[10:42:32] flylinkdc вышел(а) из комнаты: Replaced by new connection
[10:53:35] flylinkdc вышел(а) из комнаты: Replaced by new connection
[10:53:47] mars1an вышел(а) из комнаты
[10:54:00] gelraen вышел(а) из комнаты
[11:02:51] flylinkdc вошёл(а) в комнату
[11:11:06] flylinkdc вошёл(а) в комнату
[11:22:28] flylinkdc вышел(а) из комнаты: Replaced by new connection
[11:22:40] flylinkdc вошёл(а) в комнату
[11:23:51] flylinkdc вышел(а) из комнаты: Replaced by new connection
[11:24:01] flylinkdc вошёл(а) в комнату
[11:29:53] flylinkdc вышел(а) из комнаты: Replaced by new connection
[11:37:21] flylinkdc вошёл(а) в комнату
[11:41:03] flylinkdc вышел(а) из комнаты: Replaced by new connection
[11:41:38] flylinkdc вышел(а) из комнаты: Replaced by new connection
[11:42:40] flylinkdc вошёл(а) в комнату
[11:48:58] gelraen вошёл(а) в комнату
[11:48:59] flylinkdc вошёл(а) в комнату
[11:54:34] flylinkdc вышел(а) из комнаты: I'm happy Miranda IM user. Get it at http://miranda-im.org/.
[11:57:04] gelraen вышел(а) из комнаты
[11:57:14] gelraen вошёл(а) в комнату
[11:59:04] flylinkdc вошёл(а) в комнату
[12:00:50] flylinkdc вышел(а) из комнаты: Replaced by new connection
[12:07:07] flylinkdc вошёл(а) в комнату
[12:13:04] ubuntu10.10 вошёл(а) в комнату
[12:17:12] mars1an вошёл(а) в комнату
[12:20:34] <gelraen> посмотрите там кто-нибудь на этот лог: http://pointyhat.freebsd.org/errorlogs/amd64-errorlogs/e.8-exp.20120127093941/eiskaltdcpp-lib-2.2.4_1.log это у нас буст хотят обновить
[12:21:26] FiliN вошёл(а) в комнату
[12:33:53] ONYX вошёл(а) в комнату
[12:55:24] Dig вошёл(а) в комнату
[12:55:34] Dig вышел(а) из комнаты
[12:55:42] Diger вошёл(а) в комнату
[13:04:12] tehnick вошёл(а) в комнату
[13:35:49] amfetamin вошёл(а) в комнату
[13:35:59] amfetamin вышел(а) из комнаты
[13:38:40] FiliN вышел(а) из комнаты
[13:38:50] FiliN вошёл(а) в комнату
[13:40:28] tehnick вышел(а) из комнаты
[13:40:38] tehnick вошёл(а) в комнату
[13:54:55] FiliN вышел(а) из комнаты
[13:56:25] FiliN вошёл(а) в комнату
[14:03:04] <gelraen> э, а xmlrpc в 2.2.6 сломан?
[14:03:19] <gelraen> [ 20%] Building CXX object eiskaltdcpp-daemon/CMakeFiles/eiskaltdcpp-daemon.dir/ServerThread.cpp.o
In file included from /tmp/usr/ports/net-p2p/eiskaltdcpp-daemon/work/eiskaltdcpp-2.2.6/eiskaltdcpp-daemon/ServerThread.cpp:34:0:
/tmp/usr/ports/net-p2p/eiskaltdcpp-daemon/work/eiskaltdcpp-2.2.6/eiskaltdcpp-daemon/xmlrpcserver.h: In member function 'virtual void getFileListMethod::execute(const xmlrpc_c::paramList&, xmlrpc_c::value*)':
/tmp/usr/ports/net-p2p/eiskaltdcpp-daemon/work/eiskaltdcpp-2.2.6/eiskaltdcpp-daemon/xmlrpcserver.h:352:51: error: 'class ServerThread' has no member named 'getFileList_client'
[14:05:40] tehnick вышел(а) из комнаты
[14:06:03] tehnick вошёл(а) в комнату
[14:26:07] pizzard вошёл(а) в комнату
[14:51:44] <tehnick> [12:03:04] <gelraen> э, а xmlrpc в 2.2.6 сломан?
Да, в 2.2.7 dhamp уже пофиксил.
[14:52:26] tehnick вышел(а) из комнаты
[14:53:10] tehnick вошёл(а) в комнату
[14:53:38] <gelraen> угу, я уже вытащил оттуда патч
[14:53:52] <gelraen> tehnick: а для jsonrpc какая либа нужна?
[14:54:05] <gelraen> эта? http://jsonrpc-cpp.sourceforge.net/
[14:56:24] <tehnick> gelraen: нет, вообще ничего внешнего не нужно. Все включено.
[14:56:36] <gelraen> да? ну ок, буду смотреть
[14:56:52] <tehnick> Более того, там будет проблематично переписать, чтобы внешнее использовалось.
[14:57:28] <gelraen> эммм... set(JSONRPCLIBS jsonrpc-cpp)
[14:57:32] gray_graff вошёл(а) в комнату
[14:57:44] <gelraen> а, оно выше
[14:58:29] <tehnick> gelraen: все исходники в подкаталоге json/
[14:58:36] <gelraen> угу, уже увидел
[14:58:39] <tehnick> gelraen: и да, там не одна либа, а две.
[14:58:53] <gelraen> они статически линкуются?
[14:59:07] <tehnick> Да.
[14:59:10] <gelraen> ок
[15:27:04] tehnick вышел(а) из комнаты
[15:47:23] tehnick вошёл(а) в комнату
[15:47:42] tehnick вышел(а) из комнаты
[15:52:26] <flylinkdc> Ребят, а виндовую версию вы статически почему не линкуете?
[15:56:36] Кирилл вошёл(а) в комнату
[16:01:51] <gelraen> flylinkdc: этот вопрос стоит задать маляру велосипедных навесов pavelvat :)
[16:02:09] <gelraen> вожможно что сборка статической либы просто сломана
[16:02:20] <flylinkdc> он тут когда бывает?
[16:03:04] <gelraen> ахз
[16:09:38] <flylinkdc> а что такое велосипедный навес )
[16:28:33] <gelraen> flylinkdc: http://bikeshed.org/
[17:26:29] gray_graff вошёл(а) в комнату
[18:09:29] gray_graff вышел(а) из комнаты
[18:10:14] gray_graff вошёл(а) в комнату
[18:33:57] tehnick вошёл(а) в комнату
[18:34:41] <tehnick> dhamp: это ты каким компилятором собирал, что у тебя ворнинги были?
[18:35:10] <tehnick> flylinkdc: нафига собирать статически?
[18:36:41] <tehnick> Diger: так что там в итоге? Собралось? Работает?
[18:36:42] <flylinkdc> все DC++ в классике собраны в статике
[18:37:01] <flylinkdc> у вас получется мусорка из длл-ок
[18:37:20] <tehnick> flylinkdc: вот только не надо мне про мусорку писать...
[18:37:45] <flylinkdc> я про QT
[18:37:50] <tehnick> flylinkdc: самые ужасные репы, которые я видел в жизни --- у DC клиентов.
[18:37:53] <flylinkdc> ее в винде нет по дефолту
[18:38:12] <tehnick> Там и буст, и еще 100500 библиотек в свою репу тянут.
[18:38:15] <flylinkdc> подробнее
[18:38:39] <flylinkdc> вот буст апнулся до 1.49 24 числа
[18:39:04] <flylinkdc> в нем пофиксили кучу багов
[18:39:18] <flylinkdc> в случае статики - выпускаем апдейт дц и все
[18:39:19] <tehnick> Это же жуткая свалка кода. В лучших традициях проприетарных проектов.
[18:39:49] <flylinkdc> это класическая схема разработки с вендорной веткой и мержем в свою копию
[18:40:05] <flylinkdc> в линуксе это выглядит как урл на оригинал + свалка diff
[18:40:18] <flylinkdc> а тут все в одной репке
[18:40:54] <tehnick> flylinkdc: если API не изменилось, достаточно просто пересобрать прогу.
[18:40:57] <flylinkdc> ты же недавно в этом чате писал что что-то у вас влинковано статически
[18:41:18] <flylinkdc> у вас zlib какой версии сейчас?
[18:41:29] <tehnick> flylinkdc: а если не изменилось ABI, то даже пересобирать не надо. Просто обновляется общесистемная библиотека.
[18:41:29] <flylinkdc> зависит от дистрибутива?
[18:41:48] <flylinkdc> если падает в недрах либы. что вы делаете,
[18:41:57] <flylinkdc> какой способ отладки?
[18:41:58] <tehnick> flylinkdc: json у нас линкуется статически.
[18:42:19] <flylinkdc> зачем?
[18:42:33] <flylinkdc> нет в дистрах?
[18:42:57] <tehnick> Да. А еще имя библлиотеки пересекается с другой, более распространенной.
[18:43:33] <flylinkdc> т.е. если имя пересекается - то в статику. иначе в динамику и огрегаем кучу багов
[18:43:49] <tehnick> Каких таких багов?
[18:44:26] <flylinkdc> у вас нет багов которые возникают из-за внешних зависимостей?
[18:44:36] <flylinkdc> в одном дитре пашет а в другом нет?
[18:45:04] <tehnick> Если собрано в самом дистре, то нет.
[18:45:26] <tehnick> А бинарники из другого дистрибутива запускать --- ССЗБ
[18:45:40] <flylinkdc> а ты все собираешь?
[18:45:55] <flylinkdc> под каждый дистриб. и каждую версию?
[18:46:21] <tehnick> Нет, нафига? Это работа мейнтейнеров.
[18:46:34] <tehnick> Я только под дебиан и убунту пакетирую.
[18:46:53] <tehnick> И да, пакеты собираются в родном окружении.
[18:47:26] <tehnick> Под различные релизы убунт и дебиана.
[18:47:41] <flylinkdc> мантейнер винд pavelvat?
[18:47:56] <tehnick> Если мейнтейнера под какой-то бистрибутив нет, пользователь должен собирать из исходников сам.
[18:48:03] <tehnick> flylinkdc: да, он.
[18:49:43] <flylinkdc> его можно попросить собрать в статике? или это религиозно запрещено?
[18:50:04] <flylinkdc> в винде зоопарка нет
[18:50:11] <flylinkdc> кут там не в комплекте
[18:50:25] <tehnick> flylinkdc: не думаю, что он согласится. Много геморроя ради непонятной цели.
[18:50:26] <flylinkdc> ведь будет удобнее когда один exe
[18:50:56] <flylinkdc> собрать qt в статике - две страницы текста на сайте нокии
[18:51:09] <flylinkdc> ну и sqlite туда сунуть
[18:51:20] <flylinkdc> ты кстати раньше был категорически против базы данных
[18:51:30] <flylinkdc> как sqlite попал в ваш код?
[18:51:37] <tehnick> flylinkdc: в Qt вообще редко ABI ломают. Можно в установочном файле или в архиве только либы заменить, не пересобирая программу.
[18:51:41] <tehnick> Как пример.
[18:51:44] FiliN вышел(а) из комнаты
[18:52:05] <flylinkdc> виндовый дистрибутив видел?
[18:52:12] <flylinkdc> какой его размер?
[18:52:27] <flylinkdc> если собрать статикой будет в 2-3 раза меньше
[18:52:38] <tehnick> flylinkdc: я и сейчас против. Не нужна она в данной программе. У нас БД не в ядре и легко отключается на этапе конфигурирования.
[18:52:39] <flylinkdc> т.к. не потянет всякое левое гавно из QT
[18:53:00] <tehnick> flylinkdc: меньше не будет точно.
[18:53:05] <flylinkdc> эту базу использует мазила, гугл хром. и много другизх программ
[18:53:10] Кирилл вышел(а) из комнаты
[18:53:15] <tehnick> flylinkdc: статические либы Qt весят столько же
[18:53:28] <tehnick> И при линковке, ничего не отбрасывает.
[18:53:32] <flylinkdc> как линковка происходит знаешь,
[18:53:41] <flylinkdc> не может такого быть
[18:53:42] <tehnick> Т.е. просто бинарник будет суммарного размера.
[18:53:51] <tehnick> flylinkdc: ты просто не в теме
[18:53:58] <flylinkdc> линкер научился выкидывать мертвый код еще 1990 годах
[18:54:06] <tehnick> flylinkdc: у библиотек Qt фрагментация низкая
[18:54:11] <flylinkdc> урл на это утверждение
[18:55:15] <tehnick> flylinkdc: у меня в 2007 году еще винда была в дуалбуте. И я лично собирал кросплатформенные программы на Qt в ней.
[18:56:02] <tehnick> И со статикой тоже баловался.
[18:57:31] <tehnick> flylinkdc: кстати, виндовые DC клиенты тоже не 100% статические. Они зависят от каких-то системных библиотек.
[18:58:36] <flylinkdc> системных - это виндовых. они всегда есть
[18:59:09] <flylinkdc> в 2007 году qt была коммерческая - ее нельзя было сбобирать в статитике. или у вас куплена?
[18:59:18] <tehnick> flylinkdc: ну-ну. А как же библиотеки вижуал студии разных версий?
[18:59:29] <tehnick> flylinkdc: сейчас гляну.
[18:59:31] <flylinkdc> они статически линкуются
[18:59:37] <flylinkdc> для исключения dll-hell
[19:00:34] <tehnick> 2007-12-22
[19:00:49] <tehnick> Это уже была Qt 4.x.x
[19:00:57] <tehnick> Под GPL
[19:02:27] <tehnick> Третья ветка Qt (которая была только коммерческая) тогда может еще и не умерла, но ей никто и не пользовался для свободных проектов...
[19:04:49] <flylinkdc> ок. а какие ты характеристики получал когда игрался со статикой
[19:05:14] <flylinkdc> вот счас длл+екзе вашего клиента под винду занимает 37 мег
[19:05:46] <tehnick> [16:53:58] <flylinkdc> линкер научился выкидывать мертвый код еще 1990 годах
Выигрыш был меньше Мб.
[19:05:47] <flylinkdc> если это собрать в статике она должна занимать раза в два меньше места.
[19:06:48] <flylinkdc> а что был за проект?
[19:06:56] <tehnick> Если интересно, возьми любой простейший пример из документации Qt, который только libQtGui использует. Собери его с динамический версией и со статической.
[19:06:59] <flylinkdc> игрушечный
[19:07:15] <tehnick> Разница в суммарном объеме будет меньше Мб.
[19:07:47] <flylinkdc> демо не хочется )
[19:07:56] <flylinkdc> просто не может дц клиент весить 37 мег
[19:08:03] <flylinkdc> это просто не прилично
[19:08:29] <flylinkdc> еслиб у вас там был встроенный 3д шутер от первого лица на жл
[19:08:33] <flylinkdc> еще можно понять
[19:08:36] <tehnick> flylinkdc: а ты посмотрел, сколько собственно бинарник весит?
[19:08:50] <tehnick> Метра 4 наверное.
[19:08:57] <flylinkdc> 7
[19:09:11] <flylinkdc> так распростараняется все
[19:09:20] <flylinkdc> если qt была втроенна в винду
[19:09:22] <tehnick> А, ну да. Там же ядро DC++ статически влинковано и что-то еще.
[19:09:32] <flylinkdc> вопрос бы не возникала как с mfcxx.dll
[19:09:43] <flylinkdc> ты вот с делфи знаком?
[19:09:54] <flylinkdc> или вообще никогда под винду не девелопил?
[19:10:14] <flylinkdc> те дурачки тоже придумали свою либу VCLxxx.bpl
[19:10:26] <tehnick> Borland C++ использовал как-то в школе.
[19:10:33] <flylinkdc> думали что все кинуться собирать динамически и их либа попадет в винду.
[19:10:41] <flylinkdc> кроме гемора это ничего не приносила
[19:10:51] <flylinkdc> в итогде все делфи и билдер разработки собирают в статики
[19:11:02] <flylinkdc> суммарный размер в2-3 раза меньше
[19:11:44] <tehnick> А мелко-мягкие вообще сторонний софт в дефолтную систему не ставят.
[19:11:54] gelraen вышел(а) из комнаты
[19:12:00] <tehnick> Так что странные у них были надежды.
[19:12:20] <flylinkdc> ну и qt никогда не быть в системе
[19:12:23] <tehnick> У винды внутри даже своих продуктов целый зоопарк.
[19:12:38] <flylinkdc> поэтому предлагаю собрать клиент в статике. ну или по крайней мере две версии
[19:12:43] <tehnick> Одни лишь .NET несовместимые разных версий чего стоят.
[19:13:08] <tehnick> flylinkdc: вам-то какой интерес? =)
[19:13:28] <flylinkdc> хочу чтобы ваш клиент смотрелся в винде лучше
[19:13:39] <flylinkdc> с технической точки зрения
[19:14:05] <flylinkdc> utorrent клиент видели?
[19:14:06] <tehnick> flylinkdc: это сложно. Даже наш мейнтейнер под винду, пользуется ей нечасто судя по всему.
[19:14:23] <tehnick> Не говоря уж о других разработчиках, которые винды вообще не имеют...
[19:14:28] <flylinkdc> сложно собрать две ветки?
[19:14:41] <tehnick> flylinkdc: ему виднее
[19:15:01] <flylinkdc> ок. подожду его. он тут вроде часто бывает?
[19:15:09] <tehnick> flylinkdc: и нет, не видел utorrent
[19:15:40] pavelvat вошёл(а) в комнату
[19:15:51] <tehnick> flylinkdc: а вот и он
[19:15:56] <pavelvat> flylinkdc: зачем статикой?
[19:16:08] <pavelvat> это бессмысленно
[19:16:09] <flylinkdc> привет
[19:16:13] <pavelvat> привет
[19:16:19] <tehnick> pavelvat: ты прочитал лог?
[19:16:22] <pavelvat> да
[19:16:42] <flylinkdc> вы пробовали собирать в статике.
[19:16:46] <tehnick> pavelvat: отлично, теперь твоя очередь разубеждать. =)
[19:16:58] <flylinkdc> какой размер бинаря получился?
[19:18:44] gelraen вошёл(а) в комнату
[19:18:49] <flylinkdc> просто если каждый со своей прогой будет таскать 20-30 мег ддлок. ничего хорошего в этом нет
[19:19:10] <pavelvat> flylinkdc: пробовал, но только частично, qt либы были в виде dll - это было ещё до 2.1.0 т.е. тестовые сборки - вто время под Windows функционал был меньше чем под Linux так что сравнить нельзя.
[19:19:30] <flylinkdc> как это мнеьше функционал?
[19:19:45] <pavelvat> flylinkdc: а собирать Qt статически я не пробовал.
[19:20:33] <flylinkdc> http://habrahabr.ru/blogs/qt_software/137233/
[19:20:45] <flylinkdc> если не пробовали как можно утверждать что это бессмысленно )
[19:20:52] <pavelvat> flylinkdc: некотые cmake флаги стояли в OFF при сборке под Windows - скрипты, sqlite и т.п.
[19:21:31] <flylinkdc> у вас в портабельной версии еще и sqlite в виде ддл-ки валяется
[19:21:49] <flylinkdc> тоже не удобно. у них есть армагедон - специально для встраивания
[19:22:34] <pavelvat> flylinkdc: а за счёт чего может получится что набор функций собранных в статик библиотеке будет легче чем в dll библиотеке?
[19:22:46] <flylinkdc> линкер убирает мертвый код
[19:23:05] <flylinkdc> если вы не вызываете метод - он не помещается в exe
[19:23:18] <flylinkdc> в случае с длл в ней полный код всех функций
[19:23:30] <flylinkdc> вот не верю я что вы юзаете все классы qt
[19:24:48] <tehnick> По приведенной ссылке правильные комментарии.
[19:24:52] <tehnick> "Вот например в мое приложения я собственноручно подключаю следующие библиотеки QtGui/QApplication, QTextCodec, QDesktopWidget, QDebug, QtSql, QMessageBox + маленький файл ресурсов и 3 формы — занимает 8,5 Мб.
Смог все это уменьшить на 2 Mб сделав Portable версию своей программы (нужно мне это было для того чтобы спрятать БД SQLite, которая шла рядом с .exe) "
[19:25:07] <flylinkdc> 8 мег прога
[19:25:24] <flylinkdc> а если в динамике - будет 2 мега + 27 мег длл
[19:25:37] <flylinkdc> + ошметок sqlite.dll
[19:26:09] <flylinkdc> в динамике пишут только очень крупные многомодульные проекты
[19:26:27] <flylinkdc> речь конечно про винду
[19:27:31] <flylinkdc> кстати в этом комментарии юзер за статике - т.к. ему это помогло
[19:27:54] <pavelvat> flylinkdc: хорошо я как-нибудь попробую собрать и посмотреть на разницу, но позже - может к следующему релизу. Кстати никто не мешает собрать у себя статически и без моего участия.
[19:28:19] <flylinkdc> ну ладно. давайте не будем спорить. вам виднее. но я прошу откинуть религию. )
[19:28:32] <flylinkdc> мне пока хватает разработки флая и стронга
[19:28:35] <tehnick> Кстати, странно что Nokia не предоставляет установочник с рантаймом.
[19:28:55] <flylinkdc> давайте поговорим про НТФС и ТТХ в потоках
[19:29:05] <tehnick> Так бы ставились библиотеки в систему и другие проги могли их использовать...
[19:29:06] <flylinkdc> вы придумали как сделдать универсальный контейнер?
[19:29:21] <tehnick> flylinkdc: нет пока
[19:29:26] <flylinkdc> я со своей стороны обязательно поддержку ваш формат во флае
[19:29:55] <tehnick> flylinkdc: а как же обратная совместимость со старыми версиями флайлинка?
[19:30:09] <flylinkdc> нам это даст возможность юзерам на фат32 - юзать эту фичу
[19:30:17] <flylinkdc> я буду поддерживать оба варианта
[19:30:40] <tehnick> flylinkdc: хм, а такие пользователи еще остались?
[19:30:45] <flylinkdc> у нас вообще поддержка этой фичи от грея. я с ними договорился и они подарили код
[19:30:52] <flylinkdc> конечно
[19:30:54] <tehnick> Или это чтобы шару на флешке таскать?
[19:31:05] <flylinkdc> вы даже не представляете сколько юзеров сидять на фат
[19:31:13] <pavelvat> tehnick: насчёт рантайма - а зачем клиент к демону реализовывать на перл - strawberry perl под винду далеко за 100 MB. Ведь можно на C++ клиент написать и не надо будет тащить perl.
[19:31:56] <flylinkdc> о. рантайм кют
[19:31:56] <tehnick> pavelvat: можно. Но долго и нужен доброволец.
[19:32:01] <flylinkdc> еще мелкий
[19:32:04] <flylinkdc> 100 мег это круто
[19:32:12] <pavelvat> вот уж где не рациональная трата ресурсов.
[19:32:32] <tehnick> pavelvat: перл почти из коробки дает все возможности. Только модули загрузить...
[19:32:38] <flylinkdc> нада будет флай под оракл написать. тогда я вас победю )
[19:32:47] <flylinkdc> там инсталляция 2 гига
[19:33:17] <tehnick> flylinkdc: оно же вроде не бесплатное
[19:33:45] <flylinkdc> Oracle XE - бесплатный
[19:33:48] <tehnick> flylinkdc: сколько у вас полное дерево исходников весит?
[19:33:57] <flylinkdc> 10-тка дает 4 гига а 11-тый 12 гиг базы
[19:34:43] <flylinkdc> в архиве?
[19:34:45] <tehnick> flylinkdc: по поводу хранения TTH в атрибутах файла --- это к dein.negativ
[19:34:59] <tehnick> flylinkdc: мне этим не интересно заниматься
[19:35:08] <tehnick> flylinkdc: да хоть бы и в архиве
[19:35:28] <tehnick> flylinkdc: или ты без буста и прочего хочешь посчитать?
[19:35:59] <flylinkdc> http://narod.ru/disk/42700551001.0bae2994dc4f29fdd2ff02cdab13a235/FlylinkDC-r501-src-rc13-build-9424-2012.03.04-14.55.41.7z.html
[19:36:13] <flylinkdc> 12 мег. но это чтобы собралось
[19:36:20] <flylinkdc> там опенссл в бинарях
[19:36:30] <flylinkdc> я его сам пока под 64 бита не собрал
[19:36:48] <flylinkdc> юзаю юинари собранный автором стронга
[19:36:59] <flylinkdc> кстати вот еще один минус - уже давно опенссл обнвоился
[19:37:12] <flylinkdc> а флай юзает старую дырявую версию
[19:37:28] <flylinkdc> потомучто BM забил на пересборку openssl
[19:38:07] <flylinkdc> + буст у меня не полный - я лишнее выкинул.
[19:39:00] <tehnick> [17:31:13] <pavelvat> tehnick: насчёт рантайма - а зачем клиент к демону реализовывать на перл - strawberry perl под винду далеко за 100 MB. Ведь можно на C++ клиент написать и не надо будет тащить perl.
Это наверное полный установочник. У них разве нет возможности ставить только часть модулей?
[19:39:55] <pavelvat> tehnick: это portable версия
[19:40:33] <pavelvat> установщик perl я не смотрел, но сомневаюсь что там это есть.
[19:40:53] <flylinkdc> ладно. я и так тут много наспамил ) пойду вернусь в винду на время.
[19:40:58] <flylinkdc> до вечера
[19:41:14] <pavelvat> flylinkdc: l
[19:41:19] <tehnick> flylinkdc: знатно нафлудил, да. =)
[19:41:24] <tehnick> flylinkdc: до связи
[19:42:00] <pavelvat> в FlylinkDC++ magnet ссылки как подхватываются - программа при запуске каждый раз в реестр пишет?
[19:43:37] <pavelvat> а то сейчас если EiskaltDC++ поставить на голые винды то ассоциаций с ссылками dchub, adchub, adcshub, magnet нету.
[19:44:48] <pavelvat> а если стоить какой-то другой DC++ клиент то Firefox открывает диалог с вопросом в чём открывать.
[19:45:00] <pavelvat> *стоит
[19:49:07] tehnick вышел(а) из комнаты
[19:52:40] <pavelvat> tehnick: http://tehnick-8.narod.ru/dc_clients/magnet-links.html
а ты не думал сделать пакет с демоном, назначение которого перехватывать все magnet ссылки анализировать их тип и открывать либо в torrent клиенте, либо в DC++ клиенте, либо в eMule клиенте?
можно было бы даже сделать его кроссплатформенный вариант на C++ чтобы и в других ОС использовать.
Просто сейчас под Windows magnet ссылка похоже открывается в той программе котрая последняя делала запись в реестр, на тип ссылки magnet - т.е. зависит от того какой клиент DC++ или торрент был поставлен в систему первым, а какой вторым. Либо если программа каждый раз при запуске пишет в реестр ассоциацию magnet с собой то открываться будет в той программе что позже запущена.
[19:54:01] tehnick вошёл(а) в комнату
[19:55:18] <tehnick> pavelvat: это проблематично. Что DC клиентов, что torrent клиентов куча.
[19:55:34] <tehnick> А если еще и разные ОС предусмотреть...
[19:56:05] <tehnick> *BitTorrent
[19:56:44] <tehnick> Кстати, eMule клиенты я вообще ни разу не смотрел пока.
[19:57:03] <tehnick> Там разве не встроенный поиск?
[19:57:51] <pavelvat> tehnick: почему, ведь есть же такое понятие как дефолтный torrent клиент в системе, так же и дефолтный DC++ клиент и дефолтный eMule клиент, и после парсинга магнет ссылки вызвать соответствующий ей клиент и передать в него эту ссылку.
[19:58:24] <tehnick> pavelvat: в винде не только в реестре ассоциации. Но и в каждом браузере свои правила...
[19:58:46] <pavelvat> tehnick: http://ru.wikipedia.org/wiki/Magnet-%D1%81%D1%81%D1%8B%D0%BB%D0%BA%D0%B0
[19:59:10] <tehnick> И да, дефолт не на программу, а на протокол или mime-тип файла.
[20:00:25] Kroll вошёл(а) в комнату
[20:01:31] <pavelvat> tehnick: так что , будешь это делать хотя бы и позже или категорически нет?
[20:04:15] <pavelvat> универсальный демон под все OC на C++ - это лучший вариант, и кроме того он подойдёт не только EiskaltDC++ а вообще всем другим DC++, BitTorrent и eMule программам - можно будет даже договорится чтобы они включали в свои инсталлеры, инсталлер для этого демона(который должен быть очень маленьким по размеру).
[20:06:07] <tehnick> pavelvat: чтобы он был маленьким, надо на чистом C++ писать. Желательно, используя только функции из STL.
[20:06:49] <tehnick> Причем даже C++11 нормально не заюзать, ибо та же вижуал студия его еще не осилила в своем компиляторе.
[20:06:56] <tehnick> Есть только частичная поддержка.
[20:07:20] <pavelvat> да можно его и на С написать
[20:07:48] <tehnick> pavelvat: и демоном это делать не нужно. Достаточно просто бинарник, который будет редиректить при запуске и завершаться.
[20:08:21] <tehnick> И нет, я не хочу это писать. Мне хватает того простого скрипта, который есть по приведенной тобой ссылке.
[20:08:37] Кирилл вошёл(а) в комнату
[20:08:47] Кирилл вышел(а) из комнаты
[20:08:55] Кирилл вошёл(а) в комнату
[20:09:05] Кирилл вышел(а) из комнаты
[20:09:18] <tehnick> pavelvat: можно и на си. Но мой мозг уже окончательно испорчен плюсами и я не готов отказаться от кучи их плюшек.
[20:09:58] <pavelvat> просто сейчас в плане юзабилити существует такая проблема - "из коробки" открывать при щелчке в браузере по ссылке magnet соотвествующую конкретному типу magnet ссылки программу, причём эта проблема присутствует и на Windows тоже.
[20:10:07] Кирилл вошёл(а) в комнату
[20:10:43] <tehnick> pavelvat: я же написал: нужен бинарник, который будет редиректить и все.
[20:10:56] <tehnick> pavelvat: и уже этот бинарник прописать в реестр
[20:10:58] <pavelvat> согласен
[20:11:05] <tehnick> Но никому это не нужно, видимо.
[20:11:43] <tehnick> Все программы под винду прописывают просто себя.
[20:14:07] <pavelvat> просто BitTorrent значительно превосходит другие протоколы(DC++, eMule) по количеству пользователей, наверное поэтому никто до сих пор не написал чего либо подобного.
[20:14:17] <Diger> tehnick: все по прежнему, завтра еще попинаю портеров Qt, если ничего не выйдет соберу на старом компиляторе
[20:14:42] <tehnick> Diger: погоди, а как же вчерашние эксперименты?
[20:14:51] <Diger> все также
[20:14:53] <tehnick> Diger: с выпиливание кода.
[20:14:55] <Diger> падает
[20:14:59] <tehnick> И патч от dhamp
[20:15:01] <Кирилл> Как быть, Техник?
[20:15:20] <tehnick> Кирилл: ты по поводу сборки?
[20:15:33] <Diger> и его патч пробывал :(
[20:15:33] <Кирилл> Я уже малость запутался с этой сборкой
[20:15:48] <Кирилл> Да-да
[20:16:01] <Кирилл> Именно по поводу бэкпорта
[20:16:18] <tehnick> Diger: я бы все-таки сам клиент перепроверил.
[20:16:34] <tehnick> Diger: кстати, а либы Qt у тебя каким компилятором собраны?
[20:16:42] <tehnick> Diger: новым или старым?
[20:16:51] <tehnick> Это может быть проблемой.
[20:17:28] <tehnick> Кирилл: "error: ‘f’ cannot be used as a function"
[20:17:35] <Diger> tehnick: 4.6.2
[20:17:44] <Кирилл> Ага
[20:18:14] <Кирилл> Но эта 'f' находится в заголовочниках boost
[20:18:25] <Diger> откачусь на 4.5.3, сразу будет понятно, в клиенте ли косяк
[20:18:35] <Кирилл> И вот это меняя смущает
[20:18:55] <tehnick> Кирилл: ты точно правильно все переписал на функторы?
[20:19:08] <Кирилл> То ли я накосячил, то ли буст не подходит
[20:19:59] <Кирилл> Насчет функторов я смотрел ту статью и делал по ней
[20:20:07] <tehnick> Кирилл: ты бы хоть diff показал. А то сложно гадать на кофейной гуще.
[20:20:13] <Кирилл> Плюс еще советовался кое с кем
[20:20:22] <Кирилл> Ок
[20:20:35] <Кирилл> Сейчас погляжу
[20:20:44] <tehnick> Кирилл: но я так подозреваю, что diff там большой. А времени разбираться у меня сейчас как-то нет... =(
[20:21:30] <tehnick> Что-то я сегодня слишком долго тут сижу вообще.
[20:22:05] <pavelvat> tehnick: а что насчёт релиза 2.2.7 специально для Ubuntu 12.04 LTS ? - а то по-моему недооцениваются масштабы проблемы:
https://bugs.launchpad.net/ubuntu/+source/eiskaltdcpp/+bug/944675
это ведь будет в течение 5 лет - любой пользователь поставивший из Ubuntu Software Center программу EiskaltDC++ Qt по мере использования заметит что она запускается только со второго раза т.к. 100% падает при выходе если отрыты вкладка с личным сообщением. В итоге слоится нехорошее мнение о Qt версии айскальта.
[20:22:48] <pavelvat> *в итоге сложится
[20:23:55] <tehnick> pavelvat: а что мы может сделать? Это особенность shared memory в никсах.
[20:24:01] <tehnick> *можем
[20:24:36] Кирилл вошёл(а) в комнату
[20:24:46] Кирилл вышел(а) из комнаты
[20:24:55] <tehnick> А релиз 2.2.6 даже в дебиан еще не загружен. DD сейчас занят...
[20:25:40] <tehnick> pavelvat: что касается 2.2.7, то можно его релизнуть хоть на следующих выходных. Лишь бы были полезные изменения...
[20:26:55] <tehnick> Кирилл: кстати, в идеале, ты бы мог держать свою репу с пропатченным айскальтом на гитхабе.
[20:27:38] <pavelvat> tehnick: что? - причём здесь это. - программа не должна со 100%  вероятностью падать при выходе, последнии сборки из твоего PPA я запускаю только под отладчиком чтобы ловить баги, после того как dein.negativ сделал исправления падения прекратились, таким образом очищается QShareMemory или нет теперь не особо и важно, т.к. словить падение теперь трудно, а если они и будут то очень редкие и по другим причинам - т.е. они не станут проблемой.
[20:28:08] <tehnick> Кирилл: завел бы себе аккаунт, форкнул айскальт в один клик и пачтил его сколько угодно. И другие могли бы воспользоваться и/или помочь...
[20:28:44] <pavelvat> tehnick: а ты в Debian можешь отменить принятие 2.2.6 b сразу залить 2.2.7 или это уже необратимо?
[20:28:46] <tehnick> pavelvat: т.е. 2.2.7 уже не падает?
[20:29:06] <tehnick> pavelvat: зачем отменять? Оно еще не залито.
[20:30:18] <tehnick> Кстати, пакет будет помечен специальным образом и следующие версии пакета я смогу загружать сразу сам, т.к. я теперь официальный Debian Maintainer.
[20:30:54] <tehnick> И больше не придется ждать, когда у спонсора время появится...
[20:31:00] <pavelvat> tehnick: на багтрекере есть один SIGSEGV с 2.2.7 но он пока у меня был всего один раз, а за всё время после исправления  ошибки с личным сообщением программа ни разу не упала - так что можно сказать да 2.2.7 больше не падает.(но последние коммиты я не проверял)
[20:33:02] <pavelvat> tehnick: кстати старые мои SIGSEGV на багтрекере больше не проявляются так что наверное можно их пометить как "Obsolete"
[20:33:05] <tehnick> pavelvat: отлично. Значит релизнем на выходных.
[20:33:22] tehnick установил(а) тему: Last stable release: 2.2.6 || Конференция разработчиков EiskaltDC++
Логи: http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2012/
Активность в багтрекере: http://code.google.com/p/eiskaltdc/updates/list
Активность разработки: http://github.com/negativ/eiskaltdcpp/network
Release schedule:
* 2012-03-11 Release EiskaltDC++ 2.2.7
TODO:
* IPv6 in DC++ Core
* Improve Lua support
ADC notes:
https://adc.svn.sourceforge.net/svnroot/adc/trunk/ADC.txt
https://adc.svn.sourceforge.net/svnroot/adc/trunk/ADC-EXT.txt
Git notes:
http://habrahabr.ru/blogs/development/68341/
http://dl.dropbox.com/u/281916/delete/book.pdf
Как удобно передать в проект свои патчи:
http://habrahabr.ru/blogs/Git/125999/
How to pass your patches to the project in convenient way:
https://github.com/blog/712-pull-requests-2-0
Как правильно задавать вопросы:
http://parallel.ru/cluster/smart-questions-ru.html
How To Ask Questions The Smart Way
http://catb.org/%7Eesr/faqs/smart-questions.html

[20:33:37] <tehnick> pavelvat: пометь
[20:33:37] <pavelvat> tehnick: коммиты dhamp я не проверял - может без них?
[20:34:17] <Кирилл> http://pastebin.com/4WDt0mRx
[20:34:53] <Кирилл> Прошу прощения за задержку с ответом
[20:34:57] <pavelvat> tehnick: полседнее время я использую unstable-dbg из твоего PPA - в них падений не было, но они отстают обычно на несколько дней от ветки 2.2.x в git
[20:35:17] <Кирилл> Это пока что все
[20:36:30] <tehnick> Кирилл: извиняться не нужно. Тут все на добровольной основе. Причем когда есть время и возможность...
[20:36:44] <Кирилл> Конечно
[20:36:53] <tehnick> pavelvat: я мастер-ветку собираю.
[20:37:00] <Кирилл> Но я вроде как Убунте обещал
[20:37:17] <Кирилл> Не суть
[20:37:30] <Кирилл> Главное понять, где косяк
[20:37:31] <tehnick> pavelvat: кхм
[20:37:40] <pavelvat> tehnick: только сейчас до релиза надо ничего пока не коммитить - а то опять как обычно за несколько дней что-нибудь сломается и выяснится это уже только после релиза.
[20:37:49] <Кирилл> Если что - версия буста: 1.40
[20:38:01] <tehnick> pavelvat: есть такие особые баги, которые при запуске из gdb не проявляются в принципе...
[20:38:26] <pavelvat> tehnick: я знаю что master - я ведь и сказал что отсаёт на несколько дней от текущего git.
[20:38:36] <tehnick> Кирилл: кстати!
[20:38:49] <Кирилл> Слушаю
[20:39:08] <tehnick> Кирилл: а ты попробуйка с опцией -DLOCAL_BOOST=ON
[20:39:15] <Кирилл> Хмм
[20:39:21] <Кирилл> Попробую
[20:39:33] <tehnick> Кирилл: cmake скачает рекомендованную версию буста с сайта.
[20:39:33] <Кирилл> Почему-то проглядел
[20:39:48] <Кирилл> А там могут быть проблемы?
[20:40:04] <Кирилл> С системной версией
[20:40:10] <tehnick> Кирилл: нет
[20:40:40] <tehnick> Кирилл: там только заголовки, библиотек вообще нет, т.к. они не используются.
[20:41:25] <tehnick> Кирилл: а что на счет размещения репы на гитхаб?
[20:41:34] <Кирилл> Репа есть
[20:41:47] <tehnick> Кирилл: сейчас-то ты один пилишь, а так бы кто помог...
[20:41:56] <pavelvat> tehnick: кстати о некритичных багах - у тебя ширина столбцов в "Очередь загрузок", "Список скачанного" и "Список отданного" сохраняется а то у меня в Ubuntu 11.10 нет -  а в остальных местах сохраняется.
[20:41:57] <Кирилл> Я же форкнул проект
[20:42:03] <Кирилл> О, спасибо
[20:42:28] <Кирилл> С удовольствием приму любую посильную помощь
[20:42:58] <tehnick> Кирилл: форкнуть мало, надо еще коммиты сделать и пушнуть их на сервер
[20:43:20] <tehnick> Кирилл: https://github.com/negativ/eiskaltdcpp/network
[20:43:24] <Кирилл> git://github.com/kirill85/eiskaltdcpp.git
[20:43:29] <tehnick> Кирилл: не вижу тебя в дереве
[20:43:29] <Кирилл> Упс
[20:43:49] <Кирилл> Я сделаю пулл-реквест
[20:43:57] <tehnick> Кирилл: о_О
[20:44:01] <tehnick> Кирилл: зачем?
[20:44:03] FiliN вошёл(а) в комнату
[20:44:15] <pavelvat> https://github.com/negativ/eiskaltdcpp/network/members - зато тут есть.
[20:44:15] <tehnick> Кирилл: просто пили в своей репе
[20:44:27] <Кирилл> Окей
[20:44:43] <Кирилл> Я еще не запушил )
[20:44:53] <Кирилл> Сейчас пуш сделаю
[20:45:29] <tehnick> Кирилл: кстати, рекомендую сделать отдельную ветку
[20:45:45] <Кирилл> Сделал
[20:45:56] <Кирилл> lucid_backport
[20:45:59] <tehnick> Кирилл: отлично
[20:46:32] <tehnick> Кирилл: правильным путем идешь =)
[21:05:59] <Кирилл> Само собой
[21:06:06] <Кирилл> Слава Линусу
[21:06:37] <Кирилл> Правда до сих пор до дрожи боюсь VCS
[21:07:29] <Кирилл> https://kirill85@github.com/kirill85/eiskaltdcpp.git
[21:07:42] <Кирилл> Вот правильная ссылка
[21:10:38] FiliN вошёл(а) в комнату
[21:11:47] <tehnick> Кирилл: нет, это неправильная ссылка.
[21:12:16] <tehnick> Кирилл: https://github.com/kirill85/eiskaltdcpp
[21:12:36] <tehnick> Кирилл: а при чем тут Линус?
[21:13:51] <Кирилл> Ну получается, что git безопаснее
[21:13:59] <Кирилл> Сломать реп сложнее
[21:14:24] <tehnick> Это да.
[21:14:33] <Кирилл> После работы с Subversion боялся делать коммиты
[21:15:03] <tehnick> Кирилл: ты пушнешь?
[21:17:07] Кирилл вышел(а) из комнаты
[21:20:05] mars1an вышел(а) из комнаты
[21:20:23] pavelvat вышел(а) из комнаты
[21:22:51] pavelvat вошёл(а) в комнату
[21:24:00] <pavelvat> tehnick: вывод в консоль при запуске:
Installing handler for: Ошибка сегментирования
Installing handler for: Аварийный останов
Installing handler for: Ошибка шины
Installing handler for: Убито
Installing handler for: Завершено
как выяснилось при обсуждении новости на ЛОР эту строку надо убрать:
Installing handler for: Убито
[21:24:20] <pavelvat> и код для неё соотвественно.
[21:25:05] <tehnick> pavelvat: ты про SIGKILL?
[21:25:35] <pavelvat> да
[21:38:22] <pavelvat> tehnick: странно, сейчас удалил настройки запустил с чистыми несколько раз, потом вернул обратно старый каталог с настройками - все настройки ядра сбросились.
[21:39:14] <tehnick> pavelvat: что? где?
[21:39:35] <pavelvat> я всё написал, в айскальте конечно.
[21:41:25] <tehnick> pavelvat: где написал? Где версия, ОС и т.п..
[21:42:23] <pavelvat> tehnick: точнее не все - список избранных хабов остался, а вот имя пользователя тип подключения сбросились.
[21:43:17] <pavelvat> Ubuntu 11.10 2.2.7 (e677e78)
[21:44:44] <tehnick> pavelvat: это же мастер-ветка. Там точно ничего не ломалось.
[21:46:04] <tehnick> И все-таки разработчики из гугла --- козлы. Гуглокод теперь почти неюзабелен.
[21:47:34] <pavelvat> tehnick: а хотя нет, ложная тревога - это я в midnight commander вместо F5 нажал F6.
[21:49:35] <pavelvat> tehnick: а пожаловаться на инженеров Google их вышестоящему начальству как-нибудь можно?
[21:49:56] <tehnick> pavelvat: не знаю
[21:50:24] <pavelvat> хотя может они это как-раз по-приказу "сверху" сделали - чтобы уменьшить нагрузку например.
[21:51:56] <pavelvat> tehnick: кстати - на sourceforge тоже отсутствует этот функционал - может они решили пример взять с них или в google кто-то перешёл работать с sourceforge.
[21:53:01] <gelraen> фуф, осталось -cli и -gtk обновить
[21:53:29] <gelraen> лишний повод напомнить про бардак в CMakeLists.txt >_>
[21:53:30] <pavelvat> tehnick: http://code.google.com/p/support/issues/detail?id=24324#c86 - самый правильный комментарий про google, после их поступка.
[21:53:37] <tehnick> pavelvat: давно отсутствует? Раньше был...
[21:53:49] <pavelvat> не было.
[21:54:06] <tehnick> pavelvat: было. Я сам использовал.
[21:54:56] <tehnick> Короткий лог с перечнем изменений в svn, в загрузках и в описании программы.
[21:55:02] <pavelvat> tehnick: я про прямую ссылку "Updates", а не про то что существует но никаким способом перейти на неё из интерфейса sourceforge нельзя.
[21:55:30] <tehnick> pavelvat: ты вообще про другое.
[21:55:54] <pavelvat> tehnick: я про аналог "Updates" которую google недавно удалила.
[21:56:01] <tehnick> gelraen: скоро будет релиз 2.2.7. Что-нибудь для фряхи к нему подправить надо?
[21:56:12] <tehnick> pavelvat: я тоже про него
[21:57:01] <gelraen> tehnick: кроме файлов cmake я пока правил только сборку с xmlrpc
[21:57:03] <pavelvat> tehnick: уже 369 голосов
[21:57:06] <pavelvat> http://code.google.com/p/support/issues/list
[21:57:28] <gelraen> а в cmakelists, как обычно, у меня только костыли для раздельной сборки
[21:58:09] <tehnick> gelraen: что за костыли? Можно как-то улучшить ситуацию? Или лучше оставим как есть?..
[21:58:32] <pavelvat> на 4 месте - наверное ждут когда поднимется на первое, эта ситуация хорошо показывает сущность компании google.
[21:58:57] <gelraen> tehnick: надо переписывать cmakelists с нуля, иначе оно так и останется костылями
[21:59:21] <gelraen> так что лучше оставить как есть, а я уже буду обходиться местечковыми патчами
[22:00:00] <gelraen> бОльшую часть там занимает отключение сборки либы при сборке морд
[22:00:10] <tehnick> pavelvat: ты посмотри на дату публикации первых трех задач
[22:00:49] <pavelvat> tehnick: первые три-  Enhancement, а эта Defect.
[22:01:10] <gelraen> tehnick: вот тут можешь посмотреть на патчи http://redports.org/browser/imax/net-p2p
[22:02:51] <tehnick> gelraen: ух, нет, не надо на такого...
[22:03:48] <tehnick> pavelvat: http://sourceforge.net/projects/notepad-plus/develop
[22:03:55] <tehnick> pavelvat: ничего не удалили
[22:04:05] <tehnick> pavelvat: зачем ты мне дезу писал?
[22:04:57] <tehnick> Правда в этом проекте нет VCS репы и поэтому коммитов нет...
[22:05:02] <tehnick> Но вообще они есть.
[22:05:28] <tehnick> И там выпадающий список есть с выбором того, что отображать.
[22:06:26] <gelraen> tehnick: а, вот отсюда, пожалуй, стоит добавить ${GETTEXT_INTL_LIBRARY} http://redports.org/browser/imax/net-p2p/eiskaltdcpp-daemon/files/patch-eiskaltdcpp-daemon__CMakeLists.txt
[22:06:46] <pavelvat> tehnick: этот список ничего другого не показывает, и на страом интерфейсе я не помню чтобы там это было.
[22:07:10] <tehnick> pavelvat: было уже давно
[22:07:28] <tehnick> pavelvat: это список показывает полную активность
[22:07:44] <tehnick> gelraen: сорри, не понял
[22:07:57] <tehnick> gelraen: что именно ты хочешь добавить?
[22:08:04] <gelraen> tehnick: -lintl при сборке не хватает
[22:08:24] <gelraen> из-за этого, собственно, сейчас демон в портах помечен как broken
[22:08:43] <tehnick> gelraen: в демоне нет перевода строк
[22:08:49] <gelraen> после апдейта binutils, когда ld перестал делать зависимости от либ транзитивными
[22:08:52] <gelraen> зато в либе есть
[22:08:54] <tehnick> gelraen: там gettext вообще нафиг не нужен.
[22:09:01] <tehnick> Хм.
[22:09:05] <gelraen> тем не менее, без него не линкуется
[22:09:07] <tehnick> Это проблема, да.
[22:09:19] <pavelvat> tehnick: по-моему мы как-раз с тобой и обсуждали раньше аналог "Updates" от googlecode и я просил показать как из тогдашего интерфейса sourceforge перейти на него, но ты так и не нашёл как, а только дал готовую ссылку не понятно откуда взятую.
[22:09:37] <tehnick> gelraen: а либа его сама не тащит?
[22:09:44] <gelraen> видимо нет
[22:10:10] pavelvat вышел(а) из комнаты
[22:10:16] <tehnick> pavelvat: мы тогда обсуждали _полный_ лог коммитов в svn
[22:10:22] <gelraen> % ldd /usr/local/lib/libeiskaltdcpp.so | grep intl
        libintl.so.9 => /usr/local/lib/libintl.so.9 (0x28999000)
[22:10:31] <gelraen> сейчас покажу ошибку
[22:10:38] <tehnick> pavelvat: а не краткий список недавней активности в проекте
[22:12:23] <gelraen> Linking CXX executable eiskaltdcpp-daemon
/usr/local/bin/ld: CMakeFiles/eiskaltdcpp-daemon.dir/ServerThread.cpp.o: undefined reference to symbol 'libintl_dgettext'
/usr/local/bin/ld: note: 'libintl_dgettext' is defined in DSO /usr/local/lib/libintl.so.9 so try adding it to the linker command line
/usr/local/lib/libintl.so.9: could not read symbols: Invalid operation
collect2: ld returned 1 exit status
[22:15:37] <tehnick> gelraen: у меня такой проблемы нет. Скорее всего она возникла при отделении библиотеки тобой.
[22:16:26] <tehnick> Так что и патчик для остальных систем бесполезен...
[22:16:26] ubuntu10.10 вышел(а) из комнаты
[22:18:55] ubuntu10.10 вошёл(а) в комнату
[22:24:20] <gelraen> tehnick: ld -v
[22:25:40] <tehnick> $ ld -v
GNU ld (GNU Binutils for Debian) 2.22
[22:25:54] <gelraen> хм
[22:27:02] <tehnick> pavelvat: http://sourceforge.net/projects/elmerfem/develop
[22:27:17] <tehnick> pavelvat: это тебе пример со списком коммитов
[22:29:04] <gelraen> tehnick: вобщем, вот pr после которого пометили как broken http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/163110
[22:30:16] <tehnick> http://lleo.me/dnevnik/2012/03/02.html
[22:30:21] <tehnick> Не туда.
[22:32:30] <tehnick> gelraen: ну так сделаешь патчик для фряхи. В чем проблема?
[22:32:48] <gelraen> уже сделал
[22:33:10] <gelraen> только непонятно почему у тебя оно не проявляется с той же версией binutils
[22:33:30] <gelraen> может в дебиане его по-особенному собирают?
[22:33:41] <tehnick> gelraen: нет
[22:34:04] <tehnick> Хотя патчи наверняка есть.
[22:34:15] <tehnick> Но ведь и в других системах проблемы нет...
[22:39:10] amfetamin вошёл(а) в комнату
[22:39:20] amfetamin вышел(а) из комнаты
[23:04:15] Diger вышел(а) из комнаты
[23:27:49] FiliN вышел(а) из комнаты
[23:29:26] FiliN вошёл(а) в комнату
[23:31:51] FiliN вышел(а) из комнаты
[23:33:07] FiliN вошёл(а) в комнату
[23:38:37] FiliN вышел(а) из комнаты
[23:40:45] FiliN вошёл(а) в комнату
[23:43:11] ONYX вышел(а) из комнаты
[23:43:57] FiliN вышел(а) из комнаты
[23:45:54] FiliN вошёл(а) в комнату
[23:52:37] FiliN вышел(а) из комнаты
[23:56:45] FiliN вошёл(а) в комнату
[23:57:33] FiliN вышел(а) из комнаты
[23:59:13] FiliN вошёл(а) в комнату
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!