2012-07-24

[c++, boost] Сборка boost.log

Продолжая ковыряться с бустом...
Одна из первых библиотек, с которой начинается жизнь проекта - это библиотека логов. Возможно, раньше неё имеет смысл выбирать библиотеку юнит-тестов, но тут я свой выбор уже давно сделал, boost.test - аккуратная, проработанная, надёжная библиотека, поэтому искать что-то другое необходимости нет.
Собственно, в своё время, при выборе библиотеки для журналирования я остановил выбор на boost.logging v2 от John Torjo, однако развитие библиотеки остановилось в 2008 году. Сейчас в буст старается попасть свеженькая библиотека от Андрея Семашева - boost.log, поэтому было логичным посмотреть первым делом на неё.
При сборке ждал небольшой сюрприз - библиотека отказалась компиляться. Свежая версия взятая из транка тоже не собралась.
Кстати, эксперименты по сборке осуществляются довольно просто:
bjam --with-log --toolset=msvc-9.0
причём, на то, чтобы разобраться как запустить сборку ушло несколько минут - бустоводы явно стараются делать кривую обучения для новичков более пологой. Несколько лет назад сборка буста была _существенно_ сложнее и довольно плохо документирована. Ещё один жирный плюс разработчикам буста.
Разобраться в причинах ошибки удалось достаточно быстро (не во всех cpp были прописаны подключения требуемых библиотек), чуть больше времени заняли эксперименты по лечению проблемы.

По окончании сборки решил сообщить об ошибке автору boost.log, благо sf.net позволяет отправлять персональные сообщения. Тут ждали некоторые сюрпризы.
1. Несмотря на то, что sf.net поддерживает логин с google, open id, blogger и пачки других сайтов, отправлять сообщения при этом не позволяет - требует родной, сорсфоржный аккаунт.
2. Пришлось пойти искать старый, ещё начала двухтысячных, логин на sf.net. Оказалось, что аккаунт протух и залогиниться под ним нельзя.
3. Поплевался, но создал новый аккаунт.
В течении описываемых злоключений, пришлось трижды выставлять язык (sf.net постоянно терял его) и дважды указывать часовой пояс.
Мдямс... Видимо странные косяки в мелочах свойственны не крупным корпоративным продуктам, а крупным продуктам вообще - корпоративность тут второстепенна.

Завтра буду пристально смотреть на бустовые логи образца 2012 года.

Update. 24 июля 2012. Ответ Андрея Семашева:
Boost.Log не использует Boost.Chrono, и потому не должен включать заголовки этой библиотеки. Проблема в Boost.Thread, рекомендую создать тикет в http://svn.boost.org/trac/boost/ если проблема все еще не исправлена в релизном бранче boost.

Со своей стороны могу порекомендовать попробовать собрать библиотеку с макросом BOOST_THREAD_DONT_USE_CHRONO=1.
Update 2. 24 июля 2012. boost.log ревизия 694 на sf.net  :)

2012-07-23

[c++, boost] Сборка свежего буста

После нескольких  лет "непрограммирования" дошли руки вернуться к своим неоконченным проектам, искренне надеюсь, что всерьёз и надолго.
Одной из первых задач стала сборка свежего буста (под винду, msvc 2008 express).
Поверхностные впечатления:
  • boost вырос до версии 1.5;
  • дистрибутивы переехали с собственного хостинга на sourceforge;
  • размер дистрибутива в 7z без малого занимает 50 мб (и под 100 в zip);
  • сборка под винду усохла до двух простых команд (!);
  • невероятно, но библиотеки сразу собрались!!!

Безумно рад последнему пункту, ибо раньше (пару-тройку лет назад) ни одной лёгкой сборки, на моей памяти не было.
Растут мужики, растут. Если дальше будет так же хорошо, придётся переосмысливать своё отношение бусту.
Завтра буду заглядывать под капот - что же там нового и интересного появилось.

2012-07-01

Артём Драбкин "Я дрался ..."

Недавно прочитал серию книг Артёма Драбкина "Я дрался ...". Книги являются сборниками интервью ветеранов Второй Мировой. Характерная особенность - все книги написаны уже после развала СССР, поэтому официальная цензура в них отсутствует. Т.е. сами ветераны о некоторых вещах сознательно умалчивают, но в данном случае выбор не навязан им со стороны. Ещё одна особенность - устное изложение вполне допускает определённые вольности по отношению к фактам, особенно с учётом того, что с момента описываемых действий прошло около 60 лет.
Книги безусловно интересны, т.к. показывают войну глазами тех людей которые в ней участвовали и сумели выжить.
Низкий поклон и крепкого здоровья всем ветеранам!

Список опубликованных книг:
  • Я дрался на Ил-2.
  • Я дрался на истребителе.
  • Я дрался на Т-34.
  • Я дрался с асами Люфтваффе. На смену павшим. 1943—1945.
  • Я дрался с Панцерваффе. «Двойной оклад — тройная смерть!».
  • Я дрался на Т-34. Книга вторая.
  • Я дрался на По-2.
  • Я дрался на Пе-2: Хроники пикирующих бомбардировщиков.
  • По локоть в крови. Красный Крест Красной Армии.