Vlad-Shcherbina / icfpc2018-tbd

1 stars 0 forks source link

Environment setup #20

Open Vlad-Shcherbina opened 6 years ago

Vlad-Shcherbina commented 6 years ago

I got the impression that is was hard to get working with Nix.

Blake and earthdok had issues on MacOS that were not resolved.

Before the contest, I only tested the setup on Windows, WSL, and Ubuntu. There were only minor wrinkles, hopefully all documented. Perhaps we should get somebody to test on MacOS. There is no substantial reason why our stuff can't be cross-platform.


Were there any problems that I missed?

ixahedron commented 6 years ago

On my machine running NixOS the environment was set up without a hitch, but this was after someone pushed the expression for nix-shell.

lukateras commented 6 years ago

I got the impression that is was hard to get working with Nix.

On the opposite, that's one of environments that just worked.

lukateras commented 6 years ago

Blake and earthdok had issues on MacOS that were not resolved.

Ad-hoc build systems generally don't work very well, maybe that could be replaced with CMake in the next year.

Vlad-Shcherbina commented 6 years ago

Yes, the Nix experssion worked, I mean writing it was hard (or so it sounded).

CMake would't solve the MacOS problem (Clang 4 not supporting C++17).

Using CMake for the next year is possible, but it should be well tested in advance.

manpages commented 6 years ago

Wait what, we wrote the expression for nix-shell in like 15 minutes before the contest. The problem was with having nixpkgs that had Python3.7 in them, but it was easy enough. In fact, if MacOS ppl would've used Nix w/ fresh nixpkgs, odds are, it would've just worked.

kevroletin commented 6 years ago

I got strange test failures on my Ubuntu machine (even with virtualenv) but, thanks to nix expression, I was able to work in my nixos box. Probably I should've been using pyenv in Ubuntu? Anyway, +1 for nix from me.

earthdok commented 6 years ago

Blake and earthdok had issues on MacOS that were not resolved.

I resolved the issue eventually by downloading an older version of Xcode (~5gb), then waiting ~2 hours for clang to bootstrap. Still don't understand why the process requires Xcode rather than Xcode command tools, which I had installed. Or why brew must build clang from source. Or why I can download pre-built clang from the LLVM website, but not pre-built libc++. (In retrospect, I could've saved a lot of time by building only libc++ from source using this pre-built clang.)

I wasn't aware we had a nix workflow and there's no mention of it in the contribution guide. Everything worked smoothly for me until day 3 when our python code was made dependent on the C++ module.