Не собирается 3.7.5 версия ejudge на Ubuntu 14.04

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
kroda
Posts:11
Joined:05 October 2016, 23:35
Не собирается 3.7.5 версия ejudge на Ubuntu 14.04

Post by kroda » 19 February 2018, 02:25

Здравствуйте!

Пытаюсь обновить 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 на другом сервере - все работает.

Не подскажете, в чем может быть ошибка?

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Не собирается 3.7.5 версия ejudge на Ubuntu 14.04

Post by cher » 21 February 2018, 18:16

Нужен gcc как минимум версии 5. Насколько я знаю в 1404 установлен по умолчанию 4.8.

kroda
Posts:11
Joined:05 October 2016, 23:35

Re: Не собирается 3.7.5 версия ejudge на Ubuntu 14.04

Post by kroda » 22 February 2018, 11:32

Естественно, первым делом проверила этот факт. Пробовала дефолтным 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 компилируется.

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Не собирается 3.7.5 версия ejudge на Ubuntu 14.04

Post by cher » 25 February 2018, 01:02

Надо все перекомпилировать с современным gcc, то есть

make clean && make CC=gcc-5

kroda
Posts:11
Joined:05 October 2016, 23:35

Re: Не собирается 3.7.5 версия ejudge на Ubuntu 14.04

Post by kroda » 28 February 2018, 19:26

Спасибо! В итоге полечила баг, обновив ubuntu.

Post Reply