Записки Вовика

xbt_tracker на CentOS 6.x

Просмотров: 926Комментарии: 0
ЗаметкиТоррент трекерC++*nix

При переносе торрент-треккера xbt_tracker на мой новый сервер я решил его перекомпилировать, так как моя рабочая версия была собрана еще в декабре 2009-го.

Согласно инструкции на сайте я сделал checkout из svn и запустил сборку. Вылетела ошибка компиляции файла server.cpp:189: error: expected initializer before ‘:’ token

Указанная строка была следующая: for (auto& j : i->second.peers).

Проблема заключалась в том, что это новый формат записи диапазона для оператора for, который не понимал мой компилятор. Текущая версия GCC у меня 4.4.7 (CentOS 6.5). Попытки обновления gcc заняли некоторое время и я пришел к выводу, что это вряд ли получится без кровопролития и нарушения работоспособности системы. Насколько я понял, обновление компилятора выше версии 4.7 будет не ранее чем в CentOS 7.

Следующим шагом стал поиск когда данное изменение появилось в исходниках. В статье был найден замечательный скрипт, выводящий список изменений файла в svn между ревизиями. И оказалось что я пытался собрать ревизию 2397, а данный код был изменен в предыдущей ревизии 2396. Ревизия 2396 была скачана и собрана за пару минут.

svn co -r 2396 http://xbt.googlecode.com/svn/trunk/xbt/misc xbt/misc
svn co -r 2396 http://xbt.googlecode.com/svn/trunk/xbt/Tracker xbt/Tracker
cd xbt/Tracker
./make.sh

Вариант 2. Чтобы скомпилировать сборку 2397 нужно заменить в файле server.cpp строку 189 "for (auto& j : i->second.peers)" на "BOOST_FOREACH(auto& j, i->second.peers)". В этом случае сборка пройдет без ошибок.

Оставьте комментарий!

grin LOL cheese smile wink smirk rolleyes confused surprised big surprise tongue laugh tongue rolleye tongue wink raspberry blank stare long face ohh grrr gulp oh oh downer red face sick shut eye hmmm mad angry zipper kiss shock cool smile cool smirk cool grin cool hmm cool mad cool cheese vampire snake excaim question


Комментарий будет опубликован после проверки

     

  

(обязательно)