Добрый день! На Ubuntu 14.04.2 LTS собираю пакет msgpuck-master. При вводе команды make выходят ошибки:
cc1: all warnings being treated as errors
make[2]: *** [test/CMakeFiles/msgpuck.test.dir/msgpuck.c.o] Error 1
make[1]: *** [test/CMakeFiles/msgpuck.test.dir/all] Error 2
Я так понял что он выполняет какие-то тесты, для проверки работы.
До этого собирал БД Tarantool, была такая же проблема, решилась командой make server (не факт, что решение было правильным, но пока все работает).
Команда make не собирает пакеты, еслиф че. Она выполняет задания, которые ей поставлены, а это может быть все что угодно - компиляция программы, копирование БД, вызов Ктулху, захват мира :)
В данном случае возникли проблемы с компиляцией файла msgpuck.c, то есть с выполнением задания получения файла .o из файла .c Подробнее надо логи смотреть.
Александр:
[ 33%] Built target msgpuck
[ 66%] Building C object test/CMakeFiles/msgpuck.test.dir/msgpuck.c.o
In file included from /home/roman/msgpuck/msgpuck-master/test/msgpuck.c:39:0:
/home/roman/msgpuck/msgpuck-master/test/msgpuck.c: In function ‘test_format’:
/home/roman/msgpuck/msgpuck-master/test/msgpuck.c:702:12: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare]
ok((c - p == data1_len) &&
^
/home/roman/msgpuck/msgpuck-master/test/test.h:83:17: note: in definition of macro ‘ok’
int res = __ok(condition, fmt, ##args); \
^
cc1: all warnings being treated as errors
make[2]: *** [test/CMakeFiles/msgpuck.test.dir/msgpuck.c.o] Error 1
make[1]: *** [test/CMakeFiles/msgpuck.test.dir/all] Error 2
make: *** [all] Error 2
Osklizg: хм, я бы на вашем месте запостил разработчику баг-репорт. Это не проблема зависимостей или доступа, судя по всему, а в коде:
comparison between signed and unsigned integer expressions
Александр: можно просто ключ -Werror убрать и попробовать еще раз. Хотя можно и багрепорт запостить. Сравнение между знаковой и беззнаковой переменными может привести к крашу собравшейся программы. А может и не привести :)