Given I just tried it to be sure I didn't miss something...... yeah. I'd say user error is to blame. Compiles 100% in Linux, FreeBSD, and Cygwin as of right now.
However, as a side note, this is precisely why I'm moving the base away from the use of crypt() and to the portable MD5 code. Sever dependence on the system headers and you won't run into this problem ever again.