Не устанавливается ejudge(

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
ryadom
Posts:10
Joined:24 August 2011, 15:22
Не устанавливается ejudge(

Post by ryadom » 24 August 2011, 15:27

У меня Ubuntu 11.4.
Ставлю ejudge по инструкции. На шаге конфигурирования возникает ошибка:

Code: Select all

mark@ryadom-pc:~/ejudge$ sudo ./configure --prefix=/home/ejudge --enable-contests-home-dir=/home/judges --with-httpd-htdocs-dir=/home/var/www --with-httpd-cgi-bin-dir=/usr/lib/cgi-bin --enable-ajax
checking for a BSD-compatible install... /usr/bin/install -c
checking for gawk... gawk
checking for grep that handles long lines and -e... /bin/grep
checking for a sed that does not truncate output... /bin/sed
checking whether ln -s works... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for bison... bison -y
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking how to run the C preprocessor... gcc -E
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking minix/config.h usability... no
checking minix/config.h presence... no
checking for minix/config.h... no
checking whether it is safe to define __EXTENSIONS__... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking whether backslash-a works in strings... yes
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for C/C++ restrict keyword... __restrict
checking for working volatile... yes
checking for inline... inline
checking whether char is unsigned... no
checking for long double with more range or precision than double... yes
checking for preprocessor stringizing operator... yes
checking for function prototypes... yes
checking for arch type... unix
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking pwd.h usability... yes
checking pwd.h presence... yes
checking for pwd.h... yes
checking for strnlen... yes
checking for open_memstream... yes
checking for fmemopen... yes
checking for truncate... yes
checking for setsid... yes
checking for pselect... yes
checking for ferror_unlocked... yes
checking for fgets_unlocked... yes
checking for iconv in -liconv... no
checking for libiconv in -liconv... no
checking that iconv requires const qualifier... no
checking SO_PASSCRED flag... yes
checking SIOCINQ flag... yes
checking F_NOTIFY flag... yes
checking expat.h usability... no
checking expat.h presence... no
checking for expat.h... no
configure: error: in `/home/mark/ejudge':
configure: error: expat XML parsing library missing
See `config.log' for more details
mark@ryadom-pc:~/ejudge$
[/color]

Помогите разобраться в проблеме...

dk
Posts:129
Joined:25 March 2006, 19:37
Location:Москва, школа 179
Contact:

Re: Не устанавливается ejudge(

Post by dk » 24 August 2011, 15:37

Установите библиотеку expat

ryadom
Posts:10
Joined:24 August 2011, 15:22

Re: Не устанавливается ejudge(

Post by ryadom » 24 August 2011, 18:40

expat установлен

dk
Posts:129
Joined:25 March 2006, 19:37
Location:Москва, школа 179
Contact:

Re: Не устанавливается ejudge(

Post by dk » 24 August 2011, 19:17

А devel-пакеты к нему установлены?

ryadom
Posts:10
Joined:24 August 2011, 15:22

Re: Не устанавливается ejudge(

Post by ryadom » 25 August 2011, 17:47

С этим я поборолся. Не могли бы вы подсказать, куда лучше назначить папку --with-reuse. configure требует это сделать.

dk
Posts:129
Joined:25 March 2006, 19:37
Location:Москва, школа 179
Contact:

Re: Не устанавливается ejudge(

Post by dk » 25 August 2011, 18:20

reuse встроена в ejudge начиная с версии 2.3.18 и больше не используется.

Такой параметр более не должен использоваться configure, а если он используется - то должен игнорироваться.

ryadom
Posts:10
Joined:24 August 2011, 15:22

Re: Не устанавливается ejudge(

Post by ryadom » 25 August 2011, 18:24

Code: Select all

mark@ryadom-pc:~/ejudge$ sudo ./configure --prefix=/home/ejudge --enable-contests-home-dir=/home/judges --with-httpd-htdocs-dir=/home/var/www --with-httpd-cgi-bin-dir=/usr/lib/cgi-bin --enable-ajax
checking for a BSD-compatible install... /usr/bin/install -c
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking whether gcc and cc understand -c and -o together... yes
checking how to run the C preprocessor... gcc -E
checking whether backslash-a works in strings... yes
checking whether byte ordering is bigendian... no
checking for an ANSI C-conforming const... yes
checking for C/C++ restrict keyword... __restrict
checking for working volatile... yes
checking for inline... inline
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking whether char is unsigned... no
checking for working long double with more range or precision than double... no
checking for preprocessor stringizing operator... yes
checking for function prototypes... yes
checking for arch type... unix
checking termios.h usability... yes
checking termios.h presence... yes
checking for termios.h... yes
checking expat.h usability... yes
checking expat.h presence... yes
checking for expat.h... yes
checking for XML_ExpatVersionInfo in -lexpat... yes
checking that version of the expat library >= 1.95... yes
checking zlib.h usability... yes
checking zlib.h presence... yes
checking for zlib.h... yes
checking for compressBound in -lz... yes
checking that version of zlib >= 1.2... yes
checking ncurses.h usability... yes
checking ncurses.h presence... yes
checking for ncurses.h... yes
checking for sys/capability.h... no
checking for annoying gcc warnings... yes
checking for -Wno-pointer-sign... yes
checking for reuse-config... no
configure: error: You must specify the reuse directory using --with-reuse

ryadom
Posts:10
Joined:24 August 2011, 15:22

Re: Не устанавливается ejudge(

Post by ryadom » 25 August 2011, 18:29

уже исправил))

dk
Posts:129
Joined:25 March 2006, 19:37
Location:Москва, школа 179
Contact:

Re: Не устанавливается ejudge(

Post by dk » 25 August 2011, 18:29

Используйте последнюю версию ejudge - 2.3.19

ryadom
Posts:10
Joined:24 August 2011, 15:22

Re: Не устанавливается ejudge(

Post by ryadom » 25 August 2011, 18:48

только теперь на шаге make && make install пишет

Code: Select all

gcc  -g -Wall    edit-userlist.o version.o libcommon.a libuserlist_clnt.a libplatform.a -o ejudge-edit-users  -lz    -lm -lexpat -lmenuw -lpanelw -lncursesw
/usr/bin/ld: cannot find -lmenuw
/usr/bin/ld: cannot find -lpanelw
/usr/bin/ld: cannot find -lncursesw
collect2: ld returned 1 exit status
make: *** [ejudge-edit-users] Error 1

dk
Posts:129
Joined:25 March 2006, 19:37
Location:Москва, школа 179
Contact:

Re: Не устанавливается ejudge(

Post by dk » 25 August 2011, 20:26

Ну наверное вас спасет пакет libncursesw5-dev

ryadom
Posts:10
Joined:24 August 2011, 15:22

Re: Не устанавливается ejudge(

Post by ryadom » 26 August 2011, 10:27

С этим разобрался. Но появилась другая ошибка с правами доступа.
Устанавливаю в домашнюю папку пользователя ejudge.

Code: Select all

mark@ryadom-pc:~/ejudge$ sudo make && make install
make -C extra DESTDIR="" all
make[1]: Entering directory `/home/mark/ejudge/extra'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/mark/ejudge/extra'
make -C checkers DESTDIR="" all
make[1]: Entering directory `/home/mark/ejudge/checkers'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/mark/ejudge/checkers'
make -C scripts DESTDIR="" all
make[1]: Entering directory `/home/mark/ejudge/scripts'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/mark/ejudge/scripts'
make -C plugins/mysql-common DESTDIR="" all
make[1]: Entering directory `/home/mark/ejudge/plugins/mysql-common'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/mark/ejudge/plugins/mysql-common'
make -C plugins/mysql-userlist DESTDIR="" all
make[1]: Entering directory `/home/mark/ejudge/plugins/mysql-userlist'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/mark/ejudge/plugins/mysql-userlist'
make -C plugins/mysql-clardb DESTDIR="" all
make[1]: Entering directory `/home/mark/ejudge/plugins/mysql-clardb'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/mark/ejudge/plugins/mysql-clardb'
make -C plugins/mysql-rundb DESTDIR="" all
make[1]: Entering directory `/home/mark/ejudge/plugins/mysql-rundb'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/mark/ejudge/plugins/mysql-rundb'
msgmerge -U ejudge.ru_RU.KOI8-R.po ejudge.po
ejudge.po: warning: Charset "CHARSET" is not a portable encoding name.
                    Message conversion to user's charset might not work.
....................................................................................................................................................... done.
mkdir -p locale/ru_RU.UTF-8/LC_MESSAGES
msgfmt -o locale/ru_RU.UTF-8/LC_MESSAGES/ejudge.mo -c ejudge.ru_RU.UTF-8.po
msgmerge -U ejudge.ru_RU.KOI8-R.po ejudge.po
ejudge.po: warning: Charset "CHARSET" is not a portable encoding name.
                    Message conversion to user's charset might not work.
...................................................................................................................................................... done.
mkdir -p locale/ru_RU.UTF-8/LC_MESSAGES
msgfmt -o locale/ru_RU.UTF-8/LC_MESSAGES/ejudge.mo -c ejudge.ru_RU.UTF-8.po
msgfmt: error while opening "locale/ru_RU.UTF-8/LC_MESSAGES/ejudge.mo" for writing: Permission denied
make: *** [locale/ru_RU.UTF-8/LC_MESSAGES/ejudge.mo] Error 1

dk
Posts:129
Joined:25 March 2006, 19:37
Location:Москва, школа 179
Contact:

Re: Не устанавливается ejudge(

Post by dk » 26 August 2011, 10:34

вы запустили make через sudo, а make install - без sudo

$ make
$ sudo make install

ryadom
Posts:10
Joined:24 August 2011, 15:22

Re: Не устанавливается ejudge(

Post by ryadom » 27 August 2011, 14:58

Теперь при запуске ejudge-install.sh возникает ошибка :(

Code: Select all

mark@ryadom-pc:/home/ejudge/ejudge$ sudo ./ejudge-install.sh
This script will ERASE the exising user database and contests!
Are you sure to proseed (yes/no)?
yes
/home/judges/work-img already exists, not overwriting
/home/judges/data/ejudge.xml already exists, not overwriting
/home/judges/data/db/userlist.xml already exists, not overwriting
/home/judges/data/contests/000001.xml already exists, not overwriting
/home/judges/compile/conf/compile.cfg already exists, not overwriting
/home/judges/000001/conf/serve.cfg already exists, not overwriting
problems/
problems/A/
problems/A/tests/
problems/A/tests/003.dat
problems/A/tests/003.ans
problems/A/tests/004.ans
problems/A/tests/001.dat
problems/A/tests/004.dat
problems/A/tests/002.dat
problems/A/tests/005.dat
problems/A/tests/001.ans
problems/A/tests/005.ans
problems/A/tests/002.ans
problems/A/statement.xml
problems/A/solutions/
problems/A/solutions/a_python3.py
problems/A/solutions/a_javac_st.java
problems/A/solutions/a_g77.for
problems/A/solutions/a_dcc.pas
problems/A/solutions/a_gpc.pas
problems/A/solutions/a_php.php
problems/A/solutions/a_fpc.pas
problems/A/solutions/a_perl.pl
problems/A/solutions/a_python.py
problems/A/solutions/a_tpc.pas
problems/A/solutions/a_g++.cpp
problems/A/solutions/a_javac_sc.java
problems/A/solutions/a_gcj.java
problems/A/solutions/a_mzscheme.scm
problems/A/solutions/a_gcc.c
problems/A/solutions/a_ghc.hs
problems/A/solutions/a_bpp.cpp
problems/A/solutions/a_ruby.rb
problems/A/solutions/a_gfortran.for
problems/A/solutions/a_bcc.c
problems/A/solutions/a_kumir.kum
problems/A/solutions/a_vbnc.vb
problems/A/solutions/a_mcs.cs
problems/A/solutions/a_gprolog.pro
problems/A/solutions/a_yabasic.bas
problems/B/
problems/B/tests/
problems/B/tests/003.dat
problems/B/tests/003.ans
problems/B/tests/001.dat
problems/B/tests/002.dat
problems/B/tests/001.ans
problems/B/tests/002.ans
problems/B/statement.xml
problems/B/solutions/
problems/B/solutions/b_gcc.c
Sat Aug 27 15:57:08 2011:info:configuration file parsed ok
Sat Aug 27 15:57:08 2011:error:no languages specified
Command failed: /home/ejudge/bin/ej-compile -u ejudge -g ejudge -C "/home/judges/compile" -i conf/compile.cfg
mark@ryadom-pc:/home/ejudge/ejudge$ 

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

Re: Не устанавливается ejudge(

Post by cher » 29 August 2011, 11:24

Попробуйте удалить весь /home/judges и перезапустить инсталляционный скрипт.

Post Reply