# New Ticket Created by Matt Kraai # Please include the string: [perl #52026] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=52026 >
Howdy, docs/project/cage_cleaners_guide.pod says that in order to use icc to build Parrot, one should use Configure.pl's --cc and --ccflags options. I found that, using icc 10.1.013, I didn't need to use --ccflags but the build would fail as follows: ./parrot pbc_to_exe.pir pbc_to_exe.pbc icc -o pbc_to_exe.o -I/home/kraai/src/parrot/include -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -wd269 -wd1572 -wd1599 -wd181 -wd869 -wd981 -wd1419 -wd117 -wd810 -wd177 -wd1296 -Wall -Wcheck -w2 -Wabi -Wcomment -Wdeprecated -Wmain -Wmissing-prototypes -Wpointer-arith -Wreturn-type -Wstrict-prototypes -Wuninitialized -Wunknown-pragmas -Wunused-function -Wunused-variable -DHASATTRIBUTE_CONST -DHASATTRIBUTE_DEPRECATED -DHASATTRIBUTE_FORMAT -DHASATTRIBUTE_MALLOC -DHASATTRIBUTE_NORETURN -DHASATTRIBUTE_PURE -DHASATTRIBUTE_UNUSED -DHAS_GETTEXT -c pbc_to_exe.c Compiled: pbc_to_exe.o cc -o pbc_to_exe pbc_to_exe.o -Wl,-E -L/usr/local/lib -L/home/kraai/src/parrot/blib/lib -lparrot -Wl,-rpath=/home/kraai/src/parrot/blib/lib -ldl -lm -lpthread -lcrypt -lrt -lgmp -lreadline -lcrypto /home/kraai/src/parrot/src/parrot_config.o pbc_to_exe.o: In function `main': pbc_to_exe.c:(.text+0x5): undefined reference to `__intel_new_proc_init' collect2: ld returned 1 exit status linking failed current instr.: 'link_file' pc 769 (pbc_to_exe.pir:369) called from Sub 'main' pc 124 (pbc_to_exe.pir:32) make: *** [pbc_to_exe] Error 1 unless I used "--ld=icc" as well. The attached patch updates the documentation. -- Matt
>From aa3c227c946f2e5015f0980181ff3a3623ffd4ef Mon Sep 17 00:00:00 2001 From: Matt Kraai <[EMAIL PROTECTED]> Date: Sat, 22 Mar 2008 19:19:53 -0700 Subject: [PATCH] Update the icc instructions Using icc no longer requires using --ccflags, but does require using --ld. --- docs/project/cage_cleaners_guide.pod | 6 +----- 1 files changed, 1 insertions(+), 5 deletions(-) diff --git a/docs/project/cage_cleaners_guide.pod b/docs/project/cage_cleaners_guide.pod index d6f921f..6a72913 100644 --- a/docs/project/cage_cleaners_guide.pod +++ b/docs/project/cage_cleaners_guide.pod @@ -46,14 +46,10 @@ C<icc> is the Intel C/C++ Compiler and is available for free for non-commercial use. To use C<icc> to build parrot, use the following arguments to C<Configure.pl>: - perl Configure.pl --cc=icc --ccflags=-I<icc-header-path> + perl Configure.pl --cc=icc --ld=icc (courtesy of Steve Peters, C<steve at fisharerojo dot org>). -For example, those using icc version 9.1 series, the configure line is: - - perl Configure.pl --cc=icc --ccflags=-I/opt/intel/compiler91/include/ - =head2 Compiler pickiness Use as many compiler warnings as we possibly can. The more warnings -- 1.5.4.4