On Sun Mar 18 12:21:18 2007, ptc wrote:
> I don't know if this is a BUG or what so I'm just sending it plain.
> I've just tried to build parrot with icc (not 100% sure if my build
> flags are correct either), and I'm getting this build error:
> 
> icc -o miniparrot compilers/imcc/main.o \
>     -Wl,-rpath=/home/cochrane/sourceforge/parrot_svn/blib/lib
> -L/home/cochrane/sourceforge/parrot_svn/blib/lib -lparrot -lpthread
> -lm -L/usr/lib  -licuuc -licudata -lpthread -lm -lpthread -lnsl -ldl
> -lm -lcrypt -lutil -lrt -lgmp -lreadline -lncurses -L/usr/local/lib
> src/null_config.o
> Invoking Parrot to generate runtime/parrot/include/config.fpmc --cross
> your fingers
> ./miniparrot config_lib.pasm > runtime/parrot/include/config.fpmc
> miniparrot: src/mmd.c:1707: Assertion
> `((UINTVAL)(mmd_table[i].func_ptr) & 3) == 0' failed.
> /bin/sh: line 1: 30223 Aborted                 ./miniparrot
> config_lib.pasm > runtime/parrot/include/config.fpmc
> make: *** [runtime/parrot/include/config.fpmc] Error 134
> 
> Naive configure settings were (comments welcome as to what I might
> have done wrong here):
> 
> perl Configure.pl --cc=icc --cxx=icc --ld=icc
> 
> Any ideas as to what is going wrong here?

There appear to be a couple of problems.  First, it appears that icc is 
optimizing something 
that causes that assertion to fail.  ifdef'ing the assertion seems to cause no 
problems.  
Second, there appears to be something hateful about the __LINE__ macro in icc.  
I've had to 
adjust the location of a few CONST_STRING() macros.

In the meantime, RT #42768 contains patches necessary to get Intel C++ 
compiling and 
passing tests on Linux.


Reply via email to