I had to enable glewExperimental to get it to work.
Of course you did. GLEW is broken when it comes to loading OpenGL core contexts. You have to turn on that switch to make it work. It's a well-known workaround.
Or you could just use an OpenGL loading system that isn't broken for core (which would be pretty much anything besides GLEW that is still in active development). FYI: I wrote a couple of those.