Re: [perl #58958] Build of 0.7.1 fails with Intel compiler on Linux

2008-11-24 Thread Ville Koskinen
Parrot revision: 33133
Test system: Ubuntu 8.04 64-bit (on Intel Core2 Quad)
Compilers tested:
 1. Intel C Compiler 9.1.042 32-bit
 2. Intel C Compiler 9.1.042 64-bit
 3. Intel C Compiler 10.1.015 32-bit
 4. Intel C Compiler 10.1.015 64-bit
 5. GCC 4.2.4 32-bit
 6. GCC 4.2.4 64-bit

Tests and output in the above numerical order. Conclusions:
- The --m=32 flag for Configure.pl doesn't work well.
- --ldflags doesn't propagate properly or the user-supplied parameter is
  ignored (see attempt 3 in GCC 32-bit and attempt 3 in ICC 9.1 32-bit)
- Compiling succeeds with the following flags:
   2. perl Configure.pl --cc=icc --cxx=icc --ld=icc
   4. perl Configure.pl --cc=icc --cxx=icc --ld=icc
   6. perl Configure.pl 
   1, 3, 5: no success


--- 1

$ perl Configure.pl --m=32 --cc=icc --cxx=icc --ld=icc
Parrot Version 0.8.1 Configure 2.0
Copyright (C) 2001-2008, The Perl Foundation.

Hello, I'm Configure. My job is to poke and prod your system to figure
out
how to build Parrot. The process is completely automated, unless you
passed in
the `--ask' flag on the command line, in which case I'll prompt you for
a few
pieces of info.

Since you're running this program, you obviously have Perl 5--I'll be
pulling
some defaults from its configuration.

init::manifest -  Check
MANIFEST.done.
init::defaults -  Set Configure's default
values.done.
init::install -   Set up installation
paths..done.
init::miniparrot -Tweak settings for
miniparrot...skipped.
init::hints - Load platform and local hints
filesdone.
init::headers -   Find header files distributed with
Parrot..done.
inter::progs -Determine what C compiler and linker to
use...Compilation failed with 'icc'

$ perl Configure.pl --m=32 --cc=icc --cxx=icc --ld=icc --verbose
Parrot Version 0.8.1 Configure 2.0
Copyright (C) 2001-2008, The Perl Foundation.

Hello, I'm Configure. My job is to poke and prod your system to figure
out
how to build Parrot. The process is completely automated, unless you
passed in
the `--ask' flag on the command line, in which case I'll prompt you for
a few
pieces of info.

Since you're running this program, you obviously have Perl 5--I'll be
pulling
some defaults from its configuration.

init::manifest -  Check MANIFEST...
  Check
  MANIFEST.done.
init::defaults -  Set Configure's default values...
  Set Configure's default
  values.done.
init::install -   Set up installation paths...
  Set up installation
  paths..done.
init::miniparrot -Tweak settings for miniparrot...
  Tweak settings for
  miniparrot...skipped.
init::hints - Load platform and local hints files...
[ init::hints::linux 
 ccflags: -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN
 -fno-strict-aliasing -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
init::hints::local ]
  Load platform and local hints
  filesdone.
init::headers -   Find header files distributed with Parrot...
  Find header files distributed with
  Parrot..done.
inter::progs -Determine what C compiler and linker to use...
 ccflags: -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
icc -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 
-I./include -c test_21762.c
icc  -L/usr/local/lib test_21762.o  -o test_21762  -ldl -lm -lpthread
-lcrypt
ld: skipping incompatible /usr/lib/libdl.so when searching for -ldl
ld: skipping incompatible /usr/lib/libdl.a when searching for -ldl
ld: skipping incompatible /usr/bin/../lib/libdl.so when searching for
-ldl
ld: skipping incompatible /usr

[perl #58958] Build of 0.7.1 fails with Intel compiler on Linux

2008-11-23 Thread James Keenan via RT
Would it be possible to re-run these attempts to build Parrot using the
latest available version (0.8.1, I believe) and report continuing problems?

Thank you very much.
kid51


Re: [perl #58958] Build of 0.7.1 fails with Intel compiler on Linux

2008-09-17 Thread chromatic
On Wednesday 17 September 2008 04:48:59 [EMAIL PROTECTED] (via RT) wrote:

> src/exceptions.c(74): error: identifier "_CONST_STRING_74" is undefined
>       VTABLE_set_integer_keyed_str(interp, exception,

This one means that ICC handles #line directives differently.  If you manually 
edit this line to remove the linebreak before CONST_STRING, does ICC still 
give an error here?

-- c


[perl #58958] Build of 0.7.1 fails with Intel compiler on Linux

2008-09-17 Thread [EMAIL PROTECTED] (via RT)
# New Ticket Created by  [EMAIL PROTECTED] 
# Please include the string:  [perl #58958]
# in the subject line of all future correspondence about this issue. 
# http://rt.perl.org/rt3/Ticket/Display.html?id=58958 >


I'm trying to build Parrot 0.7.1 with Intel Compiler (see version
information below). The operating system is Ubuntu 8.04, 64-bit. Build
succeeds with GCC (4.2.3 installed). Parameters to Configure.pl are as
follows:

perl Configure.pl --cc=icc --cxx=icc --ld=icc 

I have four versions installed under /opt: 9.1.042 in 32 and 64-bit;
10.1.015 in 32 and 64-bit. (Switching between them using the method
recommended by Intel: source iccvars.sh.) I have been successful in
compiling previous versions of Parrot with icc in the past; I think
0.6.4 was the last one that worked. 

For both 32-bit versions, Configure.pl fails at:

--cut--

init::manifest -  Check
MANIFEST.done.
init::defaults -  Set Configure's default
values.done.
init::install -   Set up installation
paths..done.
init::miniparrot -Tweak settings for
miniparrot...skipped.
init::hints - Load platform and local hints
filesdone.
init::headers -   Find header files distributed with
Parrot..done.
inter::progs -Determine what C compiler and linker to
use...Compilation failed with 'icc'

--cut--

I have been unable to enable Configure.pl to produce more output, or the
error messages themselves. 32-bit icc works fine when compiling other
programs on the same system.

For 64-bit 9.1.042 and 10.1.015, I get the following error:

--cut--

/usr/bin/perl5.8.8 tools/build/c2str.pl --all
src/string.c
src/ops/core_ops.c
src/ops/core_ops_switch.c
src/byteorder.c
src/charset.c
src/core_pmcs.c
src/cpu_dep.c
src/datatypes.c
src/debug.c
src/debug.c(1384): warning #593: variable "regleft" was set but never
used
  unsigned charregleft;
   ^

src/dynext.c
src/embed.c
src/encoding.c
src/events.c
src/exceptions.c
src/exceptions.c(74): error: identifier "_CONST_STRING_74" is undefined
  VTABLE_set_integer_keyed_str(interp, exception,
  ^

src/exceptions.c(76): error: identifier "_CONST_STRING_76" is undefined
  VTABLE_set_integer_keyed_str(interp, exception,
  ^

src/exceptions.c(106): error: identifier "_CONST_STRING_106" is
undefined
  const INTVAL severity = VTABLE_get_integer_keyed_str(interp,
  ^

src/exceptions.c(125): error: identifier "_CONST_STRING_125" is
undefined
  exit_status = VTABLE_get_integer_keyed_str(interp,
^

src/exceptions.c(276): error: identifier "_CONST_STRING_276" is
undefined
  int exitcode = VTABLE_get_integer_keyed_str(interp, exception,
 ^

src/exceptions.c(287): warning #191: type qualifier is meaningless on
cast type
  (Parrot_runloop * const)VTABLE_get_pointer(interp,
  handler);
   ^

src/exceptions.c(401): error: identifier "_CONST_STRING_401" is
undefined
  VTABLE_set_integer_keyed_str(interp, exception,
  ^

compilation aborted for src/exceptions.c (code 2)
make: *** [src/exceptions.o] Error 2

--cut--

Will provide more information on request.

-- 
Ville Koskinen