1. 在 domserver 上建立 domjudge 資料庫:
這個問題出在 Ubuntu 16.04 上的 MySQL (Ver 14.14 Distrib 5.7.17) 採用了較嚴格的資料篩選
原則,使得 "/opt/domjudge/domserver/bin/dj-setup-database -u root -r install" 指令無法成功執行完畢 (停止在匯入日期錯誤!)。
解法的方法是在執行 "/opt/domjudge/domserver/bin/dj-setup-database -u root -r install" 之前,先修改 "/etc/mysql/mysql.conf.d/mysql.cnf" 的內容,在 [mysqld] 的下方加入一行 "sql_mode=",用以抑制 MySQL 的嚴格篩選原則,如下。
[mysqld]
sql_mode=
存檔後,重新啟動 MySQL 服務,使變更生效。$sudo service mysql restart
2. 在 judgehost 主機上建立 chroot 環境:這個問題出在 Ubuntu 16.04 上預設的 java run-time environment 已經是第 8 版了,而 Domjudge 5.1.2 版的 "/opt/domjudge/judgehost/bin/dj_make_chroot" 指令稿中,所指定的 java run-time environment 是第 7 版。於是 dj_make_chroot 無法成功地建立 domjudge 的 chroot 環境。
解決之道是修改 "/opt/domjudge/judgehost/bin/dj_make_chroot" 指令稿,將其中出現 2 次的 "INSTALLDEBS="openjdk-7-jre-headless locales" 都修改成 "INSTALLDEBS="default-jre-headless locales",如下:
INSTALLDEBS="default-jre-headless locales"
改好後,再執行一次即可,如下:$sudo /opt/domjudge/judgehost/bin/dj_make_chroot
本解法的參考文件是: https://github.com/DOMjudge/domjudge/blob/master/misc-tools/dj_make_chroot.in
沒有留言:
張貼留言