This is perl 5, version 18, subversion 2 (v5.18.2) built for darwin-thread-multi-2level (with 2 registered patches, see perl -V for more detail) #### $ cc -I/System/Library/Perl/5.18/darwin-thread-multi-2level/CORE -DXS_VERSION="0.011" -DVERSION="0.011" -c -arch x86_64 -arch i386 -g -pipe -fno-common -DPERL_DARWIN -fno-strict-aliasing -fstack-protector -Os -o lib/PerlIO/Layers.o lib/PerlIO/Layers.c lib/PerlIO/Layers.c:249:5: error: expected ')' XS_VERSION_BOOTCHECK; ^ /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/XSUB.h:328:61: note: expanded from macro 'XS_VERSION_BOOTCHECK' Perl_xs_version_bootcheck(aTHX_ items, ax, STR_WITH_LEN(XS_VERSION)) ^ :1:20: note: expanded from here #define XS_VERSION 0.011 ^ lib/PerlIO/Layers.c:249:5: note: to match this '(' /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/XSUB.h:328:48: note: expanded from macro 'XS_VERSION_BOOTCHECK' Perl_xs_version_bootcheck(aTHX_ items, ax, STR_WITH_LEN(XS_VERSION)) ^ /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/handy.h:348:26: note: expanded from macro 'STR_WITH_LEN' #define STR_WITH_LEN(s) ("" s ""), (sizeof(s)-1) ^ 1 error generated. #### $ file `which cc` /usr/bin/cc: Mach-O 64-bit executable x86_64 $ cc -v Apple LLVM version 9.0.0 (clang-900.0.39.2) Target: x86_64-apple-darwin17.4.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin