Using -isystem in config/auto/icu.pm on non-GCC system

Solinski, Mark mark.solinski at sap.com
Tue Apr 24 21:11:55 UTC 2012


Hello everyone.  It’s my one-a-year delurking post. :)

Recently (within the last month), I have been unable to build parrot successfully.  I have been building Parrot (for a couple of years now!) on a Win7 (32-bit) box using ActivePerl 5.14.2 and Visual Studio 9.0, not GCC.  Also, I always build with the ICU libraries.  Here is my call to Configure:

perl Configure.pl --icushared="c:\usr\lib\icu\lib\icudt.lib c:\usr\lib\icu\lib\icuuc.lib" --icuheaders="c:\usr\lib\icu\include"

When running nmake to build parrot, I receive the following error:

        cl -I./include -I./include/pmc -nologo -GF -W4 -MD -Zi -DNDEBUG -DWIN32 -D_CONSOLE -DNO_STRICT -DUSE_SITECUSTOMIZE  -D_USE_32BIT_TIME_T -D_CRT_SECURE_NO_DEPRECATE -DHASATTRIBUTE_DEPRECATED -wd4101 -DHASATTRIBUTE_NORETURN -wd4101 -isystem "c:\usr\lib\icu\include" -Zi     -wd4127 -wd4054 -wd4310 -Isrc/ops -Isrc/ -Fosrc/ops/core_ops.obj -c src/ops/core_ops.c
cl : Command line warning D9002 : ignoring unknown option '-isystem'
cl : Command line warning D9024 : unrecognized source file type 'c:\usr\lib\icu\include', object file assumed
cl : Command line warning D9027 : source file 'c:\usr\lib\icu\include' ignored
core_ops.c
src/ops/core_ops.c(70) : fatal error C1083: Cannot open include file: 'unicode/uchar.h': No such file or directory
NMAKE : fatal error U1077: '"c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.

It seems obvious that it does not understand the following: -isystem "c:\usr\lib\icu\include".
I have since changed config/auto/icu.pm to produce: -I”c:\usr\lib\icu\include”, as it was before, and everything runs fine.

I believe that using –isystem was introduced to fix a Mac related issue, but the fix appears to break compilation on systems using MSVC++.

Hopefully, I'll post more often;  I wish to increase my involvement beyond posting my results from smolder_test and smolder_fulltest -- like creating defect reports (and fixing them) instead of entering them here. :)  

Mark Solinski
mark.solinski at sap.com (work)
markso at ameritech.net (play)


More information about the parrot-dev mailing list