# 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

Reply via email to