Hi
I tried to add OCaml to the languages, so the compile script I used is:
#!/bin/sh
# C++ compile wrapper-script for 'compile.sh'. # See that script for syntax and more info.
DEST="$1" ; shift MEMLIMIT="$1" ; shift MAINSOURCE="$1"
ocamlc -o "$DEST" "$@"
exit $?
And for run, I left it as default script. But when a submission is judged, it exits with a RunTime Error The Runguard output follows: /home/foobar/domjudge5.1/judgehost/bin/runguard: cannot start `/testcase001/execdir/program': No such file or directory Try `/home/foobar/domjudge5.1/judgehost/bin/runguard --help' for more information.
I tried to look for the file, and it does exist, and works like an executable, so I am not sure what is going wrong. For completeness, I also tried to echo the variables being passed to run, and the output in my temporary log file shows
sudo -n /home/foobar/domjudge5.1/judgehost/bin/runguard -P 3 -r /home/foobar/domjudge5.1/judgehost/judgings/foobar-3/endpoint-default/c131-s68948-j78769/testcase001/.. --nproc=50 --no-core --streamsize=40000 --user=domjudge-run-3 --walltime=1:2 --cputime=1:2 --memsize=4096000 --filesize=40000 --stderr=program.err --outmeta=program.meta -- /testcase001/execdir/program
Please advise on how to proceed.
Thank you Parth Mittal
Hi,
On 19-07-16 15:10, Parth Mittal wrote:
Hi
I tried to add OCaml to the languages, so the compile script I used is:
#!/bin/sh
# C++ compile wrapper-script for 'compile.sh'. # See that script for syntax and more info.
DEST="$1" ; shift MEMLIMIT="$1" ; shift MAINSOURCE="$1"
ocamlc -o "$DEST" "$@"
exit $?
And for run, I left it as default script. But when a submission is judged, it exits with a RunTime Error The Runguard output follows:
/home/foobar/domjudge5.1/judgehost/bin/runguard: cannot start `/testcase001/execdir/program': No such file or directory Try `/home/foobar/domjudge5.1/judgehost/bin/runguard --help' for more information.
I tried to look for the file, and it does exist, and works like an executable, so I am not sure what is going wrong.
ocamlc is a byte-code compiler, so the generated executable actually needs an interpreter to run. You should either make that available inside your chroot environment, or, probably better, use ocamlopt that generates native binaries.
Jaap
For completeness, I also tried to echo the variables being passed to run, and the output in my temporary log file shows
sudo -n /home/foobar/domjudge5.1/judgehost/bin/runguard -P 3 -r /home/foobar/domjudge5.1/judgehost/judgings/foobar-3/endpoint-default/c131-s68948-j78769/testcase001/.. --nproc=50 --no-core --streamsize=40000 --user=domjudge-run-3 --walltime=1:2 --cputime=1:2 --memsize=4096000 --filesize=40000 --stderr=program.err --outmeta=program.meta -- /testcase001/execdir/program
Please advise on how to proceed.
Thank you Parth Mittal
DOMjudge-devel mailing list DOMjudge-devel@domjudge.org https://www.domjudge.org/mailman/listinfo/domjudge-devel