Re: [perl #58958] Build of 0.7.1 fails with Intel compiler on Linux
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
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
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
# 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