Open LiquidPL opened 1 year ago
I successfully switched to gcc 10.2.1 and sio2jail 1.4.2 with the following changes:
-switch the sandbox names
-update the function names for the compilers and the respective settings in oioioi
-switch to 64-bit proot (the amd64
one) in PRootExecutor. This may be related to some setting in oioioi and is directly caused by the gcc sandbox being 64-bit.
Other than these, I noticed that sio2jail sometimes leaves zombie processes. With these changes, sio2jail and gcc worked without issues for me.
Thing is, just naively using the amd64 proot causes java compilers to fail, and I'd rather not break stuff by upgrading other stuff.
None of the 4 deployments I'm aware of (Szkopuł, sio2.mimuw.edu.pl, wyzwania.programuj.edu.pl and sio2.staszic.waw.pl) don't seem to allow submitting in java (not to mention that 3 out of 4 use outdated sio), so nothing would be broken there. Though it would be nice to get it working in 64-bit, as some people have asked about it during recent Algorythmic Engagements.
I would need to know what's the overall direction we want to head in:
proot-sandbox_amd64
is 64bit only and will cause the Java compiler to fail; i didn't check Python or other compilers, but this would mainly depend on whether these are in 64 or 32bit
I have noticed that the sandbox repository has significantly newer versions of both the compilers, and
sio2jail
. What needs to be done to makesioworkers
use them? Do they depend on some additional code that needs to be merged? When trying to change the sandbox version in code most of them didn't work properly.