So I glanced over this, and found that std::variant is in libc++, as you would expect, but in some cases, when you get a nice modern compiler, you might not end up with it linked to a nice modern stdlib.
So maybe some sort of mis-match got in your way.
Anyways, here's hoping you get to use C++17 in its full glory!