[perl #41898] Build error with icc

1 view
Skip to first unread message

Paul Cochrane

unread,
Mar 18, 2007, 3:21:18 PM3/18/07
to bugs-bi...@rt.perl.org
# New Ticket Created by Paul Cochrane
# Please include the string: [perl #41898]
# in the subject line of all future correspondence about this issue.
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=41898 >


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?

Regards,

Paul

Steve Peters via RT

unread,
Apr 27, 2007, 5:37:11 PM4/27/07
to perl6-i...@perl.org
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.


Steve Peters via RT

unread,
Apr 28, 2007, 8:24:44 AM4/28/07
to perl6-i...@perl.org
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?
>

This has been resolved with the patches applied as r18347.

Reply all
Reply to author
Forward
0 new messages