Skip to content

One day to go!

July 12, 2012

Just one day to go! Before we get going, here are some notes on the VM and testing environment:

  • Since Debian squeeze is getting old now, we have decided that submissions may use packages from the testing distribution, wheezy.
  • For those who are still having trouble setting up a Virtual Machine, we have made a Debian Testing image, available here.
    The username/password is icfp/icfp and this account has sudo access.

  • We’ll be asking for a list of packages you’ve had to apt-get as part of your submission. If you have any strange and unusual requirements outside of what is packaged for Debian, it would be best if you can try to include this as part of your submission if possible. However, we will of course do our best to run every submission, if this turns out not to be possible.

We think we’ve managed to mop up enough of the flooding but you may need to look out.


From → News

  1. Gold Wingman permalink

    Sorry for the cross-posting… but I posted this on the “judging environment” as well…

    Debian “testing” wheezy only appears to have 200MB of /tmp space.

    You may want to add the following to your /etc/fstab to avoid strange crashing problems due to running out of /tmp space.

    tmpfs /tmp tmpfs nodev,nosuid,relatime,size=2G 0 0

    for more details. Editing the /etc/default/tmpfs also works, but is deprecated in preference of the /etc/fstab entry if I understand “man rcS” correctly.

    This is apparently a well-know problem with debian “testing”.

  2. Kevin Hammond permalink

    Noted, Gold. Thanks.

  3. Robin Neatherway permalink

    Will you run the submissions on wheezy, or squeeze plus select packages on wheezy? To run with F#, we use squeeze, with “mono-complete” from wheezy (for 2.10), and the FSharp dlls in the same directory as the .NET assembly. “mono-complete” required first upgrading gcc to the version from wheezy. Will this be acceptable?

  4. are the username/password comments on the wrong bullet point?!

    • Oops, you make a very good point. Corrected now, thanks.

  5. i will see if this makes sense this evening after work, but since that’s not for many hours maybe it’s worth asking. for clojure is the idea that: (1) if lein is not included in the test image (which i am downloading now) then i/you will download it; (2) we use the jdk that comes with debian; (3) whatever other modules are required will be pulled in by lein from the net in the normal way (ie it’s ok for them to be downloaded off the net). if so, then i at the end i guess i just supply a tarball of lein’s config file and my source (no need to include all required modules)? thanks.

  6. Kevin Hammond permalink

    1) Yes – you tell us what to install
    2) Yes, or you tell us what new version to install
    3) Yes, but as part of the install script – the VM won’t be network connected while we’re running test programs

    Yes, we need you to tell us what to install (in some way that we can automate) plus your sources.
    We’ll put the full submission instructions on line shortly.

    • ok, thanks (and thanks for being so flexible. hope your work is finite…)

      • Kevin Hammond permalink

        Hi Andrew,

        We’re hoping to make it as automatic as possible! But we want to encourage unusual languages and other approaches as best we can.


  7. Thank you for posting the virtual machine image; that makes it _much_ easier to be reasonably sure that I can get my code to work for your test systems.

    In order to get keyboard input working properly, I needed to run ‘sudo dpkg-reconfigure keyboard-configuration’ and then reboot. Until I did that, I couldn’t type ‘|’ or ‘\’. I suspect this will be true for anyone not using a UK keyboard…

  8. Loading xICFPcontest.ova in virtualbox resulted in an error VERR_TAR_END_OF_FILE for me. Renaming it to “ICFP Contest Debian Testing.ova” fixed it. Apparently, renaming an ova after exporting it is not something one should do.

    • Janto – the supplied file is a tarball containing two files. untar it first and you’ll see the ovf and vmdk. i may be misunderstanding, but it sounds like you are somehow using the tar contents at the start of the tar file?

    • Kevin Hammond permalink


      That’s annoying.

      I was trying to provide a new version with the /tmp change that Gold had proposed while not impacting the old one. I’ll try to get it online soon, but it sounds like I’ll have to regenerate and upload the .ova again (takes a while to upload a big image from here!).


  9. Gold Wingman permalink

    After doing a little research and messing around with various language installs on wheezy this evening (and reading Robin’s comment above)

    apt-get install openjdk-6-jdk mono-complete

    for the Judge’s base VM would cover roughly 40-50% of the contestants “base VM needs”, who will likely be using languages based on these very popular VM’s (C#, F#, scala, clojure, java, etc)

    This would save about 40-50MB per submission for many contestants, and about 1-2 minutes of startup time each time the judges run one of our “./install” scripts.

  10. Joan permalink

    Even though the icfp user for this VM has sudo access, I guess that our entries will not be able to run sudo commands because the rules under the “Judging Environment” states “Each entry will be run by a general user (not the super user or any privileged account).”

    The runtime that I’m considering using for the contest requires a certain link made under the /usr directory. Will I be able to use this runtime? I’d love to start my script with something like “sudo ln -s …” to make it easy for the organizers.

    • Kevin Hammond permalink

      Joan, That will be fine. We’ll start the script as icfp. If you then sudo that should work perfectly.


  11. Can you please provide a direct URL to download the virtual machine image instead of going through google docs? It is annoying that I can’t use wget to download the image.

    If bandwidth is a constraint, you can upload it to

  12. KevinH permalink

    I’ve placed a copy at


    The main reason was to ensure availability (and partly to preserve bandwidth).

Comments are closed.

%d bloggers like this: