-
Notifications
You must be signed in to change notification settings - Fork 44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Не собирается cpp версия на debian sid #18
Comments
вроде как поняли что libev не той версии, у меня 4.0.0 стоит |
после понижения до 3.7 вроде продвинулись дальше |
теперь выдаются ошибки /tmp/ccocin5n.o: In function |
после полного понижения в системе libev скомпилировалось все, закрыть можно тему |
А не подскаже какие версии gmp, mpc, mprf, boost, ev использовали ? |
Последние версии из исходников - см. комментарии в https://github.com/DmitryKoterov/dklab_realplexor/blob/master/cpp/src/Make.sh Вот насчет libev - выше писали, что, похоже, в новой версии какой-то конфликт при сборке (интересно было бы, кстати, узнать, какой именно и как его обойти; наверняка же какая-то мелочь). Вообще, сборка - дело непростое, т.к. используется новый C++0x. GCC с ним еще не во всех дистрибутивах обновился, во многих - старые версии (причем они 5-летней давности, так что даже нельзя и сказать, что "слишком уж новый GCC требует реалплексор"), вот и результат... |
Было бы, кстати, отлично, если кто-нибудь с ev 4.x прислал сюда патч. Скорее всего, там просто пара функций переименовалась, из-за этого и не собиралось. Выдержка из документации по апгрейду с 3.x до 4.x: A number of functions and symbols have been renamed: ev_loop => ev_run ev_unloop => ev_break EV_TIMEOUT => EV_TIMER ev_loop_count => ev_iteration Most functions working on C objects don't have an |
./bjam -a architecture=x86 instruction-set=i686 toolset=gcc cxxflags=-std=gnu++0x build-type=complete наверное надо так : |
./Make.sh пытаюсь найти откуда берется ev_loop чтоб заменить на ev_run и никак :) egrep -R ev_loop ./* void mainloop() |
поставил libev-3.7 ./Make.sh ldconfig -p | grep crypt ваще ничего не понятно |
скачать скомпилил libgcrypt-1.5.0 ldconfig -p | grep libgcrypt ./Make.sh |
яж говорю шаманство #GCC="g++ -std=gnu++0x -static" и собралось тоесть не собиралось статически... |
Откатываться к старой версии не очень дальновидно, особенно что пакеты старые найти все сложнее. По указанной выше ошибке - она решается через так - ev::now(EV_DEFAULT);
То есть функциям нужен контекст лупа в котором выполняться. Дальше появляется уже менее очевидная ошибка Скорее всего проблема в доступности переменных |
В общем, я причесал немного код (например, избавился от табуляции), переложил по папкам и т.д. Добавил инструкции по сборке в https://github.com/DmitryKoterov/dklab_realplexor/blob/master/cpp/README.txt В Ubuntu 12.04 (и, я думаю, в любом Debian) совсем простая сборка получилась, в 2 команды. |
Пробовал родным GCC
gcc version 4.6.3
и устанавливал по вашей инструкции
Configured with: ./configure --prefix=/opt/gcc --with-mpc=/usr/local --with-gmp=/usr/local --with-mpfr=/usr/local --enable-languages=c,c++ --without-ppl --without-cloog
Thread model: posix
gcc version 4.6.3 (GCC)
Выдается ошибка
root@Debian-60-squeeze-64-minimal:
/123/dklab_realplexor/trunk/cpp/src# ./Make.sh/123/dklab_realplexor/trunk/cpp/src#In file included from dklab_realplexor.cpp:80:0:
Realplexor/Tools.h: In static member function ‘static Realplexor::cursor_t Realplexor::Tools::time_hi_res()’:
Realplexor/Tools.h:14:33: error: too few arguments to function ‘ev::tstamp ev::now(ev_loop*)’
compilation terminated due to -Wfatal-errors.
root@Debian-60-squeeze-64-minimal:
помогите собрать, очень нужно.
Спасибо
The text was updated successfully, but these errors were encountered: