Добавление нового компилятора!
После установки у меня ejudge не находит компилятор gfortran-4.8.
Версия EJudge 3.2.2.
ОС: Ubuntu 14.04,
Установил через apt-get install gfortran
Все нижеследующие компиляторы отображаются и полноценно работают:
Free Pascal 2.6.2-8 (Free Pascal 2.6.2-8)
GNU C 4.8.2 (GNU C 4.8.2)
GNU C++ 4.8.2 (GNU C++ 4.8.2)
Python 2.7.6 (Python 2.7.6)
Perl 5.18.2 (Perl 5.18.2)
GNU Prolog 1.3.0 (GNU Prolog 1.3.0)
Java JDK 1.7.0_75 (Java JDK 1.7.0_75)
Mono C# 3.2.8.0 (Mono C# 3.2.8.0)
Mono Visual Basic .NET 0.0.0.5943 (Mono Visual Basic .NET 0.0.0.5943)
Ruby 1.9.3p484 (Ruby 1.9.3p484)
PHP 5.5.9-1ubuntu4.5 (PHP 5.5.9-1ubuntu4.6)
Python3 3.4.0 (Python3 3.4.0)
Make 3.81 (Make 3.81)
Make (valgrind) 3.81 (Make (valgrind) 3.81)
GNU C (32 bit) 4.8.2 (GNU C (32 bit) 4.8.2)
GNU C++ 4.8.2 (GNU C++ (32 bit) 4.8.2)
Free Pascal (32 bit) 2.6.2-8 (Free Pascal (32 bit) 2.6.2-8)
Помогите установить компилятор gfortran (любую версию)
Спасибо!
Версия EJudge 3.2.2.
ОС: Ubuntu 14.04,
Установил через apt-get install gfortran
Все нижеследующие компиляторы отображаются и полноценно работают:
Free Pascal 2.6.2-8 (Free Pascal 2.6.2-8)
GNU C 4.8.2 (GNU C 4.8.2)
GNU C++ 4.8.2 (GNU C++ 4.8.2)
Python 2.7.6 (Python 2.7.6)
Perl 5.18.2 (Perl 5.18.2)
GNU Prolog 1.3.0 (GNU Prolog 1.3.0)
Java JDK 1.7.0_75 (Java JDK 1.7.0_75)
Mono C# 3.2.8.0 (Mono C# 3.2.8.0)
Mono Visual Basic .NET 0.0.0.5943 (Mono Visual Basic .NET 0.0.0.5943)
Ruby 1.9.3p484 (Ruby 1.9.3p484)
PHP 5.5.9-1ubuntu4.5 (PHP 5.5.9-1ubuntu4.6)
Python3 3.4.0 (Python3 3.4.0)
Make 3.81 (Make 3.81)
Make (valgrind) 3.81 (Make (valgrind) 3.81)
GNU C (32 bit) 4.8.2 (GNU C (32 bit) 4.8.2)
GNU C++ 4.8.2 (GNU C++ (32 bit) 4.8.2)
Free Pascal (32 bit) 2.6.2-8 (Free Pascal (32 bit) 2.6.2-8)
Помогите установить компилятор gfortran (любую версию)
Спасибо!
Re: Добавление нового компилятора!
Система 32-битная
Re: Добавление нового компилятора!
Да я смотрел этот мануал.
В форуме нашел мануал (автор kai977) по которому добавляли компилятор bash (вот ссылка: viewtopic.php?f=5&t=1852 )
По этому мануалу смог добавить bash как новый компилятор!
Но вот gfortran не смог добавить!
Хотя, в отличие от bash-а gfortran существует в файле ~/inst-ejudge/libexec/ejudge/lang/lang_ids.cfg и имеет id=6 (gfortran=6)
id bash-а я по мануалу сам добавлял!
Но при вызове ./ejudge-configure-compilers он не определяется (изночально тоже не определялся!)
Надеюсь поможете!
В форуме нашел мануал (автор kai977) по которому добавляли компилятор bash (вот ссылка: viewtopic.php?f=5&t=1852 )
По этому мануалу смог добавить bash как новый компилятор!
Но вот gfortran не смог добавить!
Хотя, в отличие от bash-а gfortran существует в файле ~/inst-ejudge/libexec/ejudge/lang/lang_ids.cfg и имеет id=6 (gfortran=6)
id bash-а я по мануалу сам добавлял!
Но при вызове ./ejudge-configure-compilers он не определяется (изночально тоже не определялся!)
Надеюсь поможете!
Re: Добавление нового компилятора!
Нужна статически скомпилированная библиотека поддержки для языка фортран. На федоре соответствующий пакет называется libgfortran-static.
Re: Добавление нового компилятора!
Не смог найти аналог libgfortran-static для убунту 14.04!
Re: Добавление нового компилятора!
Тогда отредактируйте скрипт компиляции gfortran.in в каталоге scripts в исходниках ejudge
Re: Добавление нового компилятора!
Я отредактировал как показана выше в мануалах с bash. Безрезультатно!
Re: Добавление нового компилятора!
Можете дать мануал
Re: Добавление нового компилятора!
удалите опцию -static в командной строке gfortran в скриптах gfortran.in и gfortran-version.in, затем не забудьте make install
Re: Добавление нового компилятора!
Опции -static в скриптах gfortran.in и gfortran-version.in не нашел или я что-то не так понял. Заранее приношу свои извинения!
Re: Добавление нового компилятора!
Вот в скрипте gfortran.in в последней строке:
Code: Select all
# начало скрипта пропущено
unset LANG
unset LC_ALL
unset LC_MESSAGES
unset LANGUAGE
exec "${GFORTRANRUN}" ${EJUDGE_FLAGS} -static "$1" -o "$2"
Re: Добавление нового компилятора!
А, у меня gfortran.in выглядит следующим образом:
#!/bin/sh
# $Id: gfortran.in 5608 2010-01-07 19:51:45Z cher $
# Copyright (c) 2008-2010 Alexander Chernov <cher@ejudge.ru>
# using EJUDGE_FLAGS we may pass additional flags
LANG_CONFIG_DIR="@lang_config_dir@"
[ "${EJUDGE_LANG_CONFIG}" = "" ] && EJUDGE_LANG_CONFIG="${LANG_CONFIG_DIR}/gfortran.cfg"
if [ -f "${EJUDGE_LANG_CONFIG}" ]
then
. "${EJUDGE_LANG_CONFIG}"
else
version="unknown"
GFORTRANPATH="/usr/bin/gfortran"
fi
if [ x"${version}" = x ]
then
echo "This language is not supported." >&2
exit 1
fi
echo "#! ${GFORTRANPATH} ${EJUDGE_FLUGS}" >&2
echo >> $2
cat $1 >> $2
chmod +x $2
exit 0
#!/bin/sh
# $Id: gfortran.in 5608 2010-01-07 19:51:45Z cher $
# Copyright (c) 2008-2010 Alexander Chernov <cher@ejudge.ru>
# using EJUDGE_FLAGS we may pass additional flags
LANG_CONFIG_DIR="@lang_config_dir@"
[ "${EJUDGE_LANG_CONFIG}" = "" ] && EJUDGE_LANG_CONFIG="${LANG_CONFIG_DIR}/gfortran.cfg"
if [ -f "${EJUDGE_LANG_CONFIG}" ]
then
. "${EJUDGE_LANG_CONFIG}"
else
version="unknown"
GFORTRANPATH="/usr/bin/gfortran"
fi
if [ x"${version}" = x ]
then
echo "This language is not supported." >&2
exit 1
fi
echo "#! ${GFORTRANPATH} ${EJUDGE_FLUGS}" >&2
echo >> $2
cat $1 >> $2
chmod +x $2
exit 0
Re: Добавление нового компилятора!
Это ваше творчество. Возьмите скрипты, которые идут вместе с ejudge.
Re: Добавление нового компилятора!
восстановил старые скрипты
убрал у обеих .in файлов -static
проделал всю процедуру:
./configure....
make && make install
./ejudge-configure-compilers не определил язык процессора gfortran
убрал у обеих .in файлов -static
проделал всю процедуру:
./configure....
make && make install
./ejudge-configure-compilers не определил язык процессора gfortran