gentoo.ru
Официальная конференция Direct Connect клиента EiskaltDC++
eiskaltdc@conference.gentoo.ru
Среда, 19 июня 2013< ^ >
Tehnick установил(а) тему: Конференция разработчиков EiskaltDC++ | Conference of EiskaltDC++ developers
Site: https://code.google.com/p/eiskaltdc/
Logs: http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2013/
Bug tracker: https://code.google.com/p/eiskaltdc/issues/list
Notes for developers: https://code.google.com/p/eiskaltdc/wiki/notes_for_developers
How To Ask Questions The Smart Way: http://catb.org/%7Eesr/faqs/smart-questions.html
Как правильно задавать вопросы: http://parallel.ru/cluster/smart-questions-ru.html
Last stable release: 2.2.7 (2012-05-29)
Release schedule:
* 2013-06-23 Release EiskaltDC++ 2.2.8
Конфигурация комнаты
Участники комнаты

GMT+4
[00:00:00] <Tehnick> pavelvat, у него ошибка на инклюде.
[00:00:07] <Diger> Tehnick:
[ 23%] Building CXX object dcpp/CMakeFiles/dcpp.dir/QueueManager.cpp.o
/Work/SRC/eiskaltdcpp/dcpp/QueueManager.cpp: In member function 'void dcpp::QueueManager::logFinishedDownload(dcpp::QueueItem*, dcpp::Download*, bool)':
/Work/SRC/eiskaltdcpp/dcpp/QueueManager.cpp:2146:63: error: 'void lock' has incomplete type
[00:00:25] <Tehnick> Diger, да-да, сейчас над этим работаю.
[00:00:35] <Tehnick> Только отвлекаюсь.
[00:00:39] <Diger> сори
[00:01:18] <gelraen> агада
[00:01:47] <pavelvat> Tehnick: как и раньше не компилится под Windows твой последний коммит
[00:02:08] <soulhunter> не отвлекайте человека ) он разрывается
[00:02:09] <pavelvat> Tehnick: http://pastebin.com/ayjAYBJK
[00:03:25] dhamp вошёл(а) в комнату
[00:04:40] <Tehnick> pavelvat, только что обсудили.
[00:06:11] <Tehnick> gelraen,  Diger,  pavelvat: теперь должно собираться.
[00:06:39] <Tehnick> Хотя у меня пока не скомпилилось до конца. Машинка слабая...
[00:11:40] <pavelvat> Tehnick: собралось
[00:11:51] <Tehnick> Везет.
[00:11:55] <Tehnick> А я еще жду.
[00:12:28] <pavelvat> Tehnick: и под wine запустилось успешно.
[00:12:51] <Tehnick> Да это просто праздник какой-то! =)
[00:13:03] <soulhunter> Tehnick: у меня тоже походу все ок, тока я сделал DO_NOT_USE_MUTEX=OFF
[00:13:15] <Tehnick> Сегодня уже не успею журналы изменений закончить. Но завтра точно доделаю.
[00:13:27] <Tehnick> И на эти выходные точно будет релиз.
[00:13:44] <Tehnick> [23:18:08] <soulhunter> Tehnick: у меня тоже походу все ок, тока я сделал DO_NOT_USE_MUTEX=OFF
Это не сработает.
[00:14:51] <Tehnick> soulhunter, см. https://github.com/eiskaltdcpp/eiskaltdcpp/blob/master/CMakeLists.txt#L98
[00:15:12] <Tehnick> soulhunter, если будет желание, попробуй закомментировать этот блок.
[00:15:35] <soulhunter> Tehnick: тобишь он форсированно его применяет на маке? тогда ясно
[00:15:45] <Tehnick> soulhunter, кстати, покажи свой итоговый скрипт, если он работает. Я в документацию добавлю.
[00:15:56] <Tehnick> soulhunter, да, именно.
[00:16:26] <soulhunter> щас
[00:17:54] <pavelvat> Tehnick: в CMakeLists.txt везде в endif() указан аргумент, так что не последовательно как-то
[00:18:28] <dhamp> pavelvat, cmake это положить
[00:18:59] <pavelvat> dhamp: я не про положить, а про не последовательность.
[00:20:16] <pavelvat> c DO_NOT_USE_MUTEX=OFF тоже успешно собралось.
[00:20:43] <Tehnick> pavelvat, под wine?
[00:20:54] <Tehnick> pavelvat, ну, с ним-то и не ломалось...
[00:21:20] <soulhunter> Tehnick: http://pastebin.com/jxP4xfBH, там проблему решило это: -DCMAKE_CXX_FLAGS='-I${osxsdk}/usr/include -I/opt/local/include -stdlib=libc++'
[00:21:26] <pavelvat> Tehnick: кросс-компиляцией собралось, но под wine в консоли останавливается как и раньше после второго слова "Loading:"
[00:22:36] <soulhunter> Tehnick: в XCode аппловском по-умолчанию для clang используется какая-то другая либа, а не стандартная c++11, -stdlib=libc++ это исправляет
[00:23:30] <Tehnick> [23:22:58] <pavelvat> Tehnick: в CMakeLists.txt везде в endif() указан аргумент, так что не последовательно как-то
Это нужно только для наглядности. Полезно, при многочисленных вложенных if, например.
[00:23:34] <pavelvat> Tehnick: "ну, с ним-то и не ломалось..." - учитывая что предыдущие коммиты собирались только для случая DO_NOT_USE_MUTEX=OFF, я бы не был таким уверенным.
[00:24:44] <soulhunter> Tehnick: правда теперь такая фигня: http://pastebin.com/bMxwAhGa
[00:25:42] <dhamp> soulhunter -lboost_system
[00:26:13] <dhamp> soulhunter, буст какой используешь ?
[00:26:40] <soulhunter> soulhunter:build dmitrijarhipov$ port info boost
boost @1.53.0, Revision 2 (devel)
Variants:             debug, [+]no_single, [+]no_static, openmpi, python25, python26, [+]python27, python31, python32, python33, regex_match_extra, universal
Description:          Boost provides free portable peer-reviewed C++ libraries. The emphasis is on portable libraries which work well with the C++ Standard Library.
Homepage:             http://www.boost.org
Library Dependencies: zlib, expat, bzip2, libiconv, icu, python27
Platforms:            darwin
License:              Boost-1
Maintainers:          nomaintainer@macports.org
[00:26:52] <gelraen> такс, чего-то собралось
[00:28:21] <dhamp> soulhunter, у тебя вообще при конфигурировании буст ищется ?
[00:29:08] <soulhunter> dhamp: -- Boost version: 1.53.0
-- Found the following Boost libraries:
--   system
[00:29:33] <soulhunter> dhamp: судя по всему да
[00:29:35] <Tehnick> gelraen, твой копирайт в скрипте сборке указывать?
[00:30:07] <gelraen> да, неплохо бы
[00:31:01] <pavelvat> soulhunter: я использую boost-1.49 - он не требует библиотек от boost.
[00:31:07] <Tehnick> gelraen, нужны имя/фамилия транслитом
[00:31:18] <gelraen> Maxim Ignatenko
[00:31:20] <Diger> Tehnick: все работает
[00:31:25] <Tehnick> gelraen, и какая лицензия? Public Domain устроит? =)
[00:31:30] <Tehnick> Diger, отлично.
[00:31:37] <gelraen> Tehnick, да
[00:32:04] <Tehnick> gelraen, спасибо.
[00:32:45] <dhamp> soulhunter, git pull
[00:43:09] <soulhunter> dhamp: теперь такое [ 33%] Building CXX object dcpp/CMakeFiles/dcpp.dir/ZUtils.cpp.o
Linking CXX shared library libeiskaltdcpp.dylib
Undefined symbols for architecture x86_64:
  "pcrecpp::RE::Init(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, pcrecpp::RE_Options const*)", referenced from:
      dcpp::ADLSearch::SearchAll(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in ADLSearch.cpp.o
ld: symbol(s) not found for architecture x86_64
[00:43:43] <dhamp> soulhunter, pcrecpp есть вообще ?
[00:44:08] <Tehnick> soulhunter, его можно отключить
[00:45:23] <soulhunter> хм, походу версии для c++ действительно нету
[00:45:32] <soulhunter> Tehnick: он не нужен?
[00:45:55] <Tehnick> soulhunter, ну, я не использовал вообще ни разу
[00:45:59] <dhamp> soulhunter, regexp'ы для adl search
[00:47:10] <Tehnick> soulhunter, -DPERL_REGEX=OFF
[00:47:48] <soulhunter> щас попробую поставить либу, если не получится с ней - отключу
[00:52:30] <Tehnick> Diger, хочешь в журнал изменений попасть? =)
[00:53:16] Diger меняет явки и пароли
[00:53:37] <Diger> не особо
[00:54:05] <Tehnick> Ок.
[00:59:48] <soulhunter> dhamp, а ты закончил функционал с queuesMap? https://github.com/eiskaltdcpp/eiskaltdcpp/blob/2.2.x/eiskaltdcpp-daemon/ServerThread.cpp#L937 я смотрю она заполняется, но не очещается при добавлении элементов из очереди
[01:00:04] <soulhunter> * при удалении из очереди
[01:01:52] <dhamp> soulhunter, я тебе уже отвечал на этот вопрос
[01:02:18] <soulhunter> я помню, дак к релизу уже вроде все готово, до него доделаешь?
[01:03:30] <dhamp> soulhunter, сейчас, только клонирую себя пару раз
[01:04:51] <soulhunter> это не приведет к утечке памяти? если у меня за время работы клиента через очередь могут пройти десятки тысяч файлов?
[01:06:27] <soulhunter> dhamp, ну ты объясни нормально, эти события еще не подключены, очередь не заполняется? а если заполняется, то надо как минимум очистку сделать, че так релизить полуфубрикат, чтобы хоть память не жрало
[01:06:50] Diger вышел(а) из комнаты
[01:10:25] <pavelvat> Tehnick: ты не забыл про это:
http://gentoo.ru/jabber/logs/eiskaltdc@conference.gentoo.ru/2013/06/15.html#15:02:31.105771
[01:11:08] <Tehnick> pavelvat, ага
[01:13:00] <soulhunter> Tehnick: CMake Error at /Users/dmitrijarhipov/EiskaltDC-devel/build/eiskaltdcpp-qt/cmake_install.cmake:81 (FILE):
  file INSTALL cannot find
  "/opt/local/lib/QtGui.framework/Resources/qt_menu.nib".
Call Stack (most recent call first):
  /Users/dmitrijarhipov/EiskaltDC-devel/build/cmake_install.cmake:37 (INCLUDE)
[01:14:45] <Tehnick> soulhunter, у меня сейчас нет идей
[01:14:49] <soulhunter> Tehnick:  че-то у меня вообще /opt/local/lib/QtGui.framework нету
[01:17:49] <soulhunter> Tehnick: он у меня тут : /opt/local/Library/Frameworks/QtGui.framework
[01:19:26] <Tehnick> soulhunter, может не стоило PATH убирать?..
[01:19:48] pavelvat вышел(а) из комнаты
[01:20:07] <soulhunter> он у меня и так такой, бессмысленно оставлять
[01:20:39] <soulhunter> и там путь-то к бинарникам
[01:20:54] <soulhunter> soulhunter:build dmitrijarhipov$ echo $PATH
/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
[01:26:05] <soulhunter> Tehnick: ну ладно, так-то все собралось, это уже в самом конце такая фигня, вроде все победили, завтра с этим наверное разберусь, когда релиз планируется? хотелось б еще погонять клиент в работе чтобы убедиться что все в порядке точно, ничего нового не вылезло
[01:26:23] <Tehnick> soulhunter, на выходных
[01:26:36] <Tehnick> Время еще есть.
[01:32:35] <soulhunter> ок
[01:32:47] <Tehnick> soulhunter, у тебя еще немного времени сейчас есть?
[01:33:04] <soulhunter> разве что совсем немного, спать уже клонит
[01:33:15] <Tehnick> soulhunter, тогда это на потом.
[01:33:22] <soulhunter> а что?
[01:33:28] <Tehnick> soulhunter, надо все-таки проверить сборку без DO_NOT_USE_MUTEX
[01:33:55] <Tehnick> Но я уверен, что сборка сразу же упадет.
[01:34:05] <soulhunter> надо хоть 1 раз до конца сборку довести нормально, чтобы все запустилось )
[01:34:09] <Tehnick> Нет.
[01:34:16] <Tehnick> У тебя уже этап установки.
[01:34:23] <Tehnick> А это именно сборка.
[01:34:39] <soulhunter> ну могу, щас пускану
[01:34:55] <Tehnick> soulhunter, надо код закомментировать
[01:37:37] <soulhunter> /Users/dmitrijarhipov/EiskaltDC-devel/eiskaltdcpp/dcpp/Semaphore.h:69:42: error: no member named 'getMutex' in 'std::__1::recursive_mutex'
[01:38:12] <Tehnick> Я знал! =)
[01:38:16] <Tehnick> soulhunter, спасибо.
[01:38:51] <soulhunter> а что за дела? какие проблемы могут быть с мьютексом вообще в современных системах?
[01:39:19] <Tehnick> Внезапно оказалось, что проблем чуть менее, чем дофига.
[01:39:47] <Tehnick> В mingw их не реализовали.
[01:39:54] <Tehnick> В WINE их нет.
[01:40:08] <Tehnick> В Haiku их нет.
[01:40:28] <Tehnick> Надеюсь, хоть во FreeBSD проблемы не будет.
[01:41:00] <Tehnick> Надо юзеров этой оси попинать.
[01:42:30] <soulhunter> Tehnick: а getMutex это стандартный метод из либы должен быть?
[01:44:15] <Tehnick> soulhunter, кстати, у тебя есть еще и третий вариант.
[01:44:56] <soulhunter> вариант чего?
[01:45:52] <Tehnick> soulhunter, в dcpp/CriticalSection.h
заменить
#if defined (_WIN32)
на
#if defined (APPLE)
[01:46:04] <Tehnick> У будет использован код из буста.
[01:46:26] <Tehnick> И вот этот вариант имеет шанс собраться...
[01:46:47] <soulhunter> Дак а какая разница, твой флаг не то же самое делает?
[01:46:55] <Tehnick> Нет.
[01:47:15] <Tehnick> Этот флаг только включает старый вариант кода.
[01:47:46] <Tehnick> А новый вариант есть в двух версиях: используя std или boost
[01:48:42] <Tehnick> В MinGW мьютексы из std не поддерживаются, поэтому в сборке под винду используются мьютексы их буста.
[01:48:57] <Tehnick> Блин.
[01:49:18] <Tehnick> Весь проект --- набор распорок и костылей...
[01:52:53] <soulhunter> ) да
[01:53:44] <soulhunter> Tehnick: а если не используется мьютекс, то как блокировки происходят?
[01:54:10] <soulhunter> семафорами для 1 потока?
[01:55:04] <Tehnick> soulhunter, просто посмотри на велосипед в dcpp/CriticalSection.h...
[02:01:31] <soulhunter> Tehnick: ну да, а действительно, почему надо старый код использовать, а не мьютексы из буста?
[02:04:32] <Tehnick> soulhunter, скомпилилось?
[02:04:43] <soulhunter> щас попробую
[02:05:18] <Tehnick> soulhunter, кстати, как показал опыт, сборки мало. Надо, чтобы еще и запустилось.
[02:05:33] <Tehnick> В вайне и гайке именно с этим были проблемы.
[02:05:52] <Tehnick> Похоже, что там тупо заглушки для этого кода стоят.
[02:06:11] <Tehnick> soulhunter, короче, не спеши.
[02:06:22] <soulhunter> ок
[02:06:57] <soulhunter> dhamp, пинг
[02:07:40] <soulhunter> надо кстати в вики подправить ссылки на гитхаб
[02:07:55] <soulhunter> там стоят еще negativ/eiskaltdcpp
[02:11:14] <Tehnick> soulhunter, где?
[02:11:38] <Tehnick> Я вроде бы везде поправил давно.
[02:12:00] <soulhunter> http://code.google.com/p/eiskaltdc/wiki/JSONRPC
[02:12:03] <soulhunter> в самом низу
[02:14:45] <Tehnick> soulhunter, спасибо. Исправил.
[02:15:05] <soulhunter> вообще говоря вики устарело сильно
[02:15:13] <Tehnick> А то...
[02:15:25] <soulhunter> там есть некоторые разделы актуальные, но большинство уже...
[02:19:00] <soulhunter> Tehnick: а нельзя
[02:19:19] <Tehnick> Что нельзя?
[02:19:27] <soulhunter> а нельзя сделать проверку не на систему а на саму поддержу мьютексов?
[02:19:53] <soulhunter> а то вдруг сделают где-то а вы не узнаете и все будет использоваться старый код
[02:20:08] <Tehnick> soulhunter, как?
[02:20:39] <Tehnick> soulhunter, дык пусть используется. Разницы мало.
[02:20:58] <soulhunter> я не знаю ) еще пока не очень сильно продвинулся по c++, тока с вами тут баги ищу, на большее времени пока не хватает
[02:21:03] <Tehnick> soulhunter, у меня вот сейчас с ним собрано.
[02:21:47] <soulhunter> нельзя проверить наличие метода в объекте или что-то такое?
[02:23:06] <Tehnick> soulhunter, не компилируя код?..
[02:23:35] <Tehnick> soulhunter, разве что мега-крипт написать, который будет парсить исходники...
[02:23:56] <Tehnick> Но он не будет универсальным изначально.
[02:24:08] <Tehnick> Всех вариантов путей не предусмотришь...
[02:24:21] <Tehnick> Да и глупое это занятие.
[02:25:10] <Tehnick> Сопровождающие пакетов и так знают, что им надо.
[02:25:19] <dhamp> soulhunter, ?
[02:25:27] <Tehnick> А пользователи в такие детали могут не вникать.
[02:26:04] soulhunter вышел(а) из комнаты
[02:32:28] Tehnick вышел(а) из комнаты
[03:02:06] dhamp вышел(а) из комнаты
[08:06:25] Diger вошёл(а) в комнату
[08:51:45] dhamp вошёл(а) в комнату
[09:01:03] mars1an вошёл(а) в комнату
[09:34:44] dhamp вышел(а) из комнаты
[09:49:34] Alexey вошёл(а) в комнату
[12:04:37] Alexey вышел(а) из комнаты: Replaced by new connection
[12:04:47] Alexey вошёл(а) в комнату
[12:42:03] Diger вышел(а) из комнаты
[13:24:36] Diger вошёл(а) в комнату
[13:44:34] gelraen вышел(а) из комнаты
[14:29:22] gelraen вошёл(а) в комнату
[14:41:39] gelraen вышел(а) из комнаты
[15:00:12] gelraen вошёл(а) в комнату
[15:06:19] gelraen вышел(а) из комнаты
[15:31:36] Diger вышел(а) из комнаты
[15:53:00] Diger вошёл(а) в комнату
[17:27:29] gelraen вошёл(а) в комнату
[17:27:35] gelraen вышел(а) из комнаты
[17:27:45] gelraen вошёл(а) в комнату
[17:44:39] flylinkdc вышел(а) из комнаты
[18:08:29] Кирилл вошёл(а) в комнату
[18:09:13] mars1an вышел(а) из комнаты
[18:28:19] Nikoli вышел(а) из комнаты
[18:30:27] Nikoli вошёл(а) в комнату
[19:58:02] gelraen вышел(а) из комнаты
[20:04:28] Tehnick вошёл(а) в комнату
[21:02:23] soulhunter вошёл(а) в комнату
[21:08:29] Tehnick вышел(а) из комнаты: Ушел.
[21:08:39] Tehnick вошёл(а) в комнату
[21:15:15] pavelvat вошёл(а) в комнату
[21:21:46] <pavelvat> Tehnick: из того что ты написал в changelog:
Исправлена ошибка переполнения буфера при выходе из программы. Проблема
возникала из-за попытки чтения данных из закрытого сокета. Воспроизводилось
только в редких ситуациях, когда локальная сеть работает, но подключение к
интернету отсутствует, и программа собрана с поддержкой DHT.
Это совсем не так, проблема воспроизводилась у меня почти при каждом выходе из программы если в настройках был включён DHT, исправление этого бага - можно сказать самое главный fix в релизе 2.2.8. Кроме того, на мой взгляд какое-то излишне подробное и долгое описание и не только этого бага, но многих других.
[21:25:44] <Tehnick> pavelvat, в новости этот текст будет короче.
[21:25:59] <pavelvat> Tehnick: он вызывающе неверный
[21:26:08] <Tehnick> Самый главный фикс? =) Спасибо на добром слове...
[21:26:14] <soulhunter> и мою проблемы по-моему обделили ) с зацикливаением
[21:26:36] <Tehnick> soulhunter, зацикливанием чего?
[21:26:48] <soulhunter> ну мое переполнение буфера
[21:26:50] <Tehnick> Журнал изменений не закончен, если что.
[21:27:12] <soulhunter> хотя это можно отнести к той же проблеме в общем, но ошибка-то была в другом и на DHT она не влияла
[21:27:38] <Tehnick> pavelvat, что же в нем неверного?
[21:28:26] <Tehnick> soulhunter, ах да, вспомнил. То был фикс для менеджера поиска.
[21:28:36] <soulhunter> угу, UDP
[21:28:58] <Tehnick> Ага. DHT тоже через UDP работает.
[21:29:19] <pavelvat> Tehnick:
"Воспроизводилось только в редких ситуациях, когда локальная сеть работает, но подключение к интернету отсутствует" - вот это вот вызывающе неверно, падение было всегда на выходе из программы если был включён DHT.
[21:29:39] <Tehnick> pavelvat, но у меня же не падало... =)
[21:29:49] <soulhunter> может у него воспроизводилась моя проблема
[21:29:59] <Tehnick> pavelvat, пока я случайно не наткнулся на отсутствие инета.
[21:30:15] <soulhunter> у меня тоже была 100% воспроизводимость
[21:30:33] <Tehnick> soulhunter, и твоя не воспроизводилась. Там эксепшн отрабатывал...
[21:31:01] <Tehnick> s/эксепшн/исключение/
[21:31:30] <Tehnick> Вон, во флайлинке тоже этой проблемы не было.
[21:31:42] <Tehnick> Хотя код идентичный.
[21:31:57] <pavelvat> Tehnick: а у всех пользователей Ubuntu >=12.04 падало, и низкая средняя оценка у EiskaltDC++ в Ubuntu Software Center и комментарии там же о падучести говорят о том что падало не только у меня.
[21:32:10] <Tehnick> И багу с чтением из закрытого сокета разработчик подтвердил.
[21:32:28] <Tehnick> pavelvat, так я и не спорю.
[21:32:40] <Tehnick> pavelvat, верю, что падало.
[21:40:47] <Tehnick> Еще замечания/предложения есть?
[21:47:29] <Tehnick> soulhunter, кстати, как успехи со сборкой? Видел добавленные в репу примеры скриптов для макоси?
[21:48:26] <soulhunter> пока не пробовал со вчерашнего вечера
[21:59:24] <pavelvat> Tehnick: с json что делать будем?
[22:00:27] <Tehnick> pavelvat, какие у тебя ошибки сборки? Ты уверен, что просто необходимо сделать реверт?
[22:01:05] <Tehnick> pavelvat, попробуй сделать реверт в локальной временной ветке. И проверь сборку. Надо быть уверенными, что это поможет.
[22:01:11] <Tehnick> Как последний вариант...
[22:01:23] <soulhunter> у меня тоже при сборке ворнинги есть, штуки 4 про jsoncpp, я отсылал Евгению, он говорит что не знает что там можно исправить
[22:01:30] <pavelvat> Tehnick: да, нужна просто старая версия котрая не используют вещи из c++11.
[22:02:43] <pavelvat> Tehnick: http://pastebin.com/TJYzzqv4
[22:02:49] <Tehnick> pavelvat, нужны пруфы: 1) ошибки сборки; 2) успешная сборка с ревертом.
[22:03:17] <soulhunter> а, ребят
[22:03:21] <soulhunter> это нельзя реветртить
[22:03:34] <soulhunter> тока если переписать ф-ии без использование stoll и прочих
[22:03:51] <pavelvat> Tehnick: mingw-gcc-4.7 собирает json, а вот mingw-gcc-4.6 не может
[22:03:53] <Tehnick> pavelvat, и это все? о_О
[22:03:53] <soulhunter> это фиксит ряд проблем в jsonrpc
[22:04:50] <pavelvat> soulhunter: реверт - это значит откатить исходники json до предыдущего релиза где эти функции не использовались.
[22:05:31] <Tehnick> Я уж думал, что там что-то серьезное...
[22:05:44] <soulhunter> дык вот, я понимаю, уйдут ф-ии asInt, asDouble и т.д, а их нельзя удалять, без них падает jsonrpc при определенных обстоятельствах
[22:09:13] <Tehnick> pavelvat, знаешь, что самое забавное?
[22:10:12] <Tehnick> pavelvat, эти функции не используются в оригинальной библиотеке и в том апдейте их не было. Их вручную добавил dhamp, чтобы исправить проблемы, описанные soulhunter.
[22:11:29] <pavelvat> Tehnick: и что сделаешь для WIN32 исключение через #ifdef?
[22:11:31] <Tehnick> pavelvat, и сделано это было совсем в другом коммите, см. 1b67bba
[22:11:53] <Tehnick> pavelvat, скорее для версии gcc.
[22:12:10] <Tehnick> pavelvat, ибо мы номинируем поддержку более старых версий...
[22:12:15] <pavelvat> Tehnick: Linux версия gcc-4.6 умеет это собирать
[22:12:22] <soulhunter> без них падает клиент если через api послать например строку вместо интеджера
[22:12:26] <pavelvat> а mingw-gcc-4.6 не умеет
[22:13:00] <soulhunter> эти функции каста строк в разные числовые виды
[22:13:16] <Tehnick> pavelvat, а ты можешь проверить сборку с 4.4?
[22:13:32] <Tehnick> Он у нас заявлен как минимальный.
[22:14:25] <pavelvat> soulhunter: а ты для Mac OS X и демона тоже собираешь? просто по-моему раньше в установщике для Mac OS была только Qt версия EiskaltDC++.
[22:15:10] <Tehnick> pavelvat, он не клепает бандл. Они делает сборку для себя.
[22:15:13] <pavelvat> Tehnick: у меня нет этой версии, а проверять то что надо для WIN32?
[22:15:29] <Tehnick> pavelvat, пока ничего.
[22:15:38] <soulhunter> нет, собираю тока под Gentoo демона
[22:15:54] <Tehnick> pavelvat, но теперь я знаю, что надо исправить. И до выходных мы это пофиксим.
[22:16:10] <Tehnick> pavelvat, и что важнее всего: ничего откатывать не придется.
[22:16:20] <Tehnick> soulhunter, а ты проверь, кстати.
[22:16:34] <soulhunter> Tehnick: что проверить?
[22:16:47] <Tehnick> soulhunter, сборку и работу демона.
[22:17:09] <soulhunter> а, ну можно попробовать
[22:17:10] <Tehnick> soulhunter, нашему мейнтейнеру это было не интересно.
[22:22:29] <pavelvat> Tehnick: я могу и сам сейчас через #ifdef _WIN32 вернуть для Windows старый вариант.
[22:23:38] <Tehnick> pavelvat, ты не хочешь, чтобы в новым компилятором оно работало нормально?
[22:23:59] <pavelvat> Tehnick: не понял.
[22:24:04] <Tehnick> pavelvat, я понимаю, что это проще, но зачем же умышленно портить функционал?
[22:24:20] <Tehnick> [21:08:53] <pavelvat> Tehnick: mingw-gcc-4.7 собирает json, а вот mingw-gcc-4.6 не может
[22:24:54] <Tehnick> Это значит, что нужно так же учитывать версию mingw
[22:25:04] <pavelvat> Tehnick: я временно это сделаю, когда для Windows можно будет перейти на gcc-4.7 или 4.8 я верну обратно.
[22:25:05] <Tehnick> А не просто сделать ifdef для винды.
[22:25:20] <Tehnick> pavelvat, почему бы сразу не сделать правильно?
[22:26:01] <Tehnick> [21:08:53] <pavelvat> Tehnick: mingw-gcc-4.7 собирает json, а вот mingw-gcc-4.6 не может
А если другой вендо-юзер захочет собрать у себя?..
[22:26:28] <pavelvat> Tehnick: в дальнейшем когда можно будет использовать gcc>=4.7 поддерживать код в состоянии пригодном для сборки mingw-gcc-4.6 нет смысла.
[22:26:44] <Tehnick> pavelvat, и да, окончательный переезд на Qt5 состоится не скоро. Там еще уйма проблем с ним.
[22:27:28] <pavelvat> Tehnick: что за проблемы?
[22:27:35] <Tehnick> pavelvat, смысл есть
[22:29:03] <Tehnick> pavelvat, ты хоть одну прогу на Qt5 уже использовал/видел/портировал?
[22:30:44] <pavelvat> Tehnick: нет, в Qt5 правила cmake для конфигурирования встроенны в сам Qt.
[22:32:02] <pavelvat> Tehnick: разве там потребуется портирование кода на Qt? Я думал обратную совместимость они оставили и всё что собиралось раньше с Qt4 соберётся и с Qt5.
[22:32:27] <Tehnick> pavelvat, потребуется портирование.
[22:32:47] <Tehnick> Не очень большое.
[22:33:07] <Tehnick> Переезд будет проще, чем с Qt3 на Qt4.
[22:33:25] <Tehnick> Но все равно, много ручной работы.
[22:34:47] <pavelvat> Tehnick: так что с json?
[22:37:12] <Tehnick> pavelvat, ты можешь сделать правильно?
[22:37:38] <Tehnick> (Проверяя версию mingw)
[22:37:48] <Tehnick> Объем работы тот же.
[22:38:04] <Tehnick> Просто условие усложнится слегка.
[22:39:09] <pavelvat> Tehnick: у нас где-нибудь в коде используется проверка версии gcc? мне пример нужен как это делается.
[22:49:34] <Tehnick> pavelvat, compiler.h
[22:49:51] <Tehnick> pavelvat, проверку версии можно загуглить.
[22:50:28] <Tehnick> pavelvat, можешь даже не проверять, что винда. Достаточно defined(__MINGW32__)
[22:50:33] <Tehnick> И версии.
[22:57:33] <Diger> Tehnick: почитал конфу - потверждаю - на Haiku  при выходе больше не падает
[22:58:06] <Tehnick> Diger, для тебя это тоже был важный фикс?..
[22:58:41] <Diger> не то слово - этот баг был с самого начала портирования и воспроизводился постоянно
[23:00:10] <Diger> я если честно думал, что это косяк в сетевом стеке(хотя скорее всего так и есть), потому что падало вне зависимости - есть канал или его нет
[23:01:46] <Tehnick> Ок.
[23:02:11] <Tehnick> Теперь я верю, что это было важно. =)
[23:03:06] <soulhunter> )
[23:03:12] <Diger> )
[23:03:27] <soulhunter> я тоже теперь верю
[23:04:37] Alexey вышел(а) из комнаты
[23:39:47] Diger вышел(а) из комнаты
[23:43:31] Кирилл вышел(а) из комнаты
[23:51:16] pavelvat вышел(а) из комнаты
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!