Здравствуйте!
Пытаюсь обновить ejudge до 3.7.5 на ubuntu 14.04
Запускаю ./configure --prefix=/home/ejudge/inst-ejudge \
--enable-contests-home-dir=/home/judges \
--with-httpd-cgi-bin-dir=/var/www/ejudge/cgi-bin \
--with-httpd-htdocs-dir=/var/www/ejudge/htdocs \
--enable-ajax \
--enable-charset=utf-8
Затем make - и получаю ошибку:
gcc -g -Wall -g compile.o version.o libcommon.a libplatform.a libcommon.a -o ej-compile -lz -lm -lexpat -lzip -luuid
libcommon.a(testinfo.o): In function `parse_size':
/home/ejudge/ejudge/testinfo.c:439: undefined reference to `__builtin_mul_overflow'
/home/ejudge/ejudge/testinfo.c:445: undefined reference to `__builtin_mul_overflow'
/home/ejudge/ejudge/testinfo.c:451: undefined reference to `__builtin_mul_overflow'
collect2: error: ld returned 1 exit status
make: *** [ej-compile] Ошибка 1
Пробовала несколько раз менять версии gcc, ошибка не проходит, сам по себе вызов команды в отдельной программе-тесте __builtin_mul_overflow работает
До этого обновляла ejudge на Ubuntu 16.04 на другом сервере - все работает.
Не подскажете, в чем может быть ошибка?
Не собирается 3.7.5 версия ejudge на Ubuntu 14.04
Re: Не собирается 3.7.5 версия ejudge на Ubuntu 14.04
Нужен gcc как минимум версии 5. Насколько я знаю в 1404 установлен по умолчанию 4.8.
Re: Не собирается 3.7.5 версия ejudge на Ubuntu 14.04
Естественно, первым делом проверила этот факт. Пробовала дефолтным gcc 5 и 6. Ошибка не пропадает.
Более того, если я пишу
gcc-5 -g -Wall -g compile.o version.o libcommon.a libplatform.a libcommon.a -o ej-compile -lz -lm -lexpat -lzip -luuid, то ошибка остается.
При этом небольшой семпл с функцией __builtin_mul_overflow компилируется.
Более того, если я пишу
gcc-5 -g -Wall -g compile.o version.o libcommon.a libplatform.a libcommon.a -o ej-compile -lz -lm -lexpat -lzip -luuid, то ошибка остается.
При этом небольшой семпл с функцией __builtin_mul_overflow компилируется.
Re: Не собирается 3.7.5 версия ejudge на Ubuntu 14.04
Надо все перекомпилировать с современным gcc, то есть
make clean && make CC=gcc-5
make clean && make CC=gcc-5
Re: Не собирается 3.7.5 версия ejudge на Ubuntu 14.04
Спасибо! В итоге полечила баг, обновив ubuntu.