[vtkusers] intel compiler icc 7.0
Rudi Seemann
kapitaen at gmx.at
Fri Dec 13 15:02:44 EST 2002
Some of my intermediate results:
------------------------------------------------
1st: vtk compiles with icc.
2nd: The cylinder example works fine.
3rd: icc - gcc comparison
TestRender from the bin directory shows following frame rate on a 2 GHz laptop
with mesasoft.
Wall Time = 6.7396
FrameRate = 17.8052
A gcc compiled version of TestRender:
Wall Time = 6.76542
FrameRate = 17.7373
4th: Problems appear using input functions of vtk:
------------------------------------------------------------------
vtkIO seems to fail in some routine calling a library function of
libstdc++.so.5:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1024 (LWP 23537)]
0x41c587f9 in std::ctype<char> const& std::use_facet<std::ctype<char>
>(std::locale const&) () from /usr/lib/libstdc++.so.5
backtrace:
0 0x41c587f9 in std::ctype<char> const& std::use_facet<std::ctype<char>
>(std::locale const&) () from /usr/lib/libstdc++.so.5
#1 0x4118ac2d in vtkDataReader::ReadHeader() ()
from /usr/local/lib/vtk/libvtkIO.so
#2 0x412fda28 in vtkStructuredPointsReader::Execute() ()
from /usr/local/lib/vtk/libvtkIO.so
#3 0x40245b83 in vtkSource::ExecuteData(vtkDataObject*) ()
from /usr/local/lib/vtk/libvtkCommon.so
#4 0x402432f9 in vtkSource::UpdateData(vtkDataObject*) ()
from /usr/local/lib/vtk/libvtkCommon.so
#5 0x40152f45 in vtkDataObject::UpdateData() ()
from /usr/local/lib/vtk/libvtkCommon.so
#6 0x4130186b in vtkStructuredPointsReader::ExecuteInformation() ()
from /usr/local/lib/vtk/libvtkIO.so
#7 0x40242b3a in vtkSource::UpdateInformation() ()
from /usr/local/lib/vtk/libvtkCommon.so
#8 0x40152d31 in vtkDataObject::UpdateInformation() ()
from /usr/local/lib/vtk/libvtkCommon.so
#9 0x40152cea in vtkDataObject::Update() ()
from /usr/local/lib/vtk/libvtkCommon.so
#10 0x40242929 in vtkSource::Update() ()
from /usr/local/lib/vtk/libvtkCommon.so
Exchanging the libvtkIO with a gcc 3.2 compiled version does not work because
of linking errors. It should be possible to compile with icc and link with
gcc (LinuxCompilersCompatibility60.pdf) I will try this.
I am curious, if volume rendering can be fastened by icc.
> Has anyone tried to compile VTK with the intel compiler? Please, send me a
> message, just to share experiences!
>
> I use a SuSE 8.1, icc 7.0, (gcc 3.2), glibc 2.2.5.
>
> At the moment the compiler hangs in directory IO with following error
> messages:
>
> /usr/include/stdio.h(30): error #77: this declaration has no storage class
> or type specifier
> __BEGIN_DECLS
> ^
>
> /opt/intel/compiler70/ia32/include/xarg.h(15): error: expected a ";"
> typedef char * va_list;
> ^
>
> /opt/intel/compiler70/ia32/include/xarg.h(20): error: identifier "va_list"
> is undefined
> typedef va_list __gnuc_va_list;
> ^
>
> /opt/intel/compiler70/ia32/include/yvals.h(245): error: identifier
> "va_list" is undefined
> typedef va_list _Va_list;
> ^
>
> /usr/include/libio.h(396): error: expected a "{"
> extern int __underflow (_IO_FILE *) __THROW;
> ^
>
> /usr/include/stdio.h(142): error: expected a "{"
> extern int remove (__const char *__filename) __THROW;
> ^
>
> /usr/include/stdlib.h(98): error #77: this declaration has no storage class
> or type specifier
> } div_t;
> ^
>
> /usr/include/stdlib.h(133): error: expected a "{"
> extern size_t __ctype_get_mb_cur_max (void) __THROW;
> ^
>
> /usr/include/bits/sigset.h(31): error #77: this declaration has no storage
> class or type specifier
> } __sigset_t;
> ^
>
> /usr/include/sys/select.h(38): error: variable "__sigset_t" is not a type
> name typedef __sigset_t sigset_t;
> ^
>
> /usr/include/sys/select.h(95): error #77: this declaration has no storage
> class or type specifier
> __BEGIN_DECLS
> ^
>
> /usr/include/sys/select.h(95): error: variable "__BEGIN_DECLS" has already
> been defined
> __BEGIN_DECLS
> ^
>
> /usr/include/sys/select.h(102): error: expected a ";"
> extern int select (int __nfds, fd_set *__restrict __readfds,
> ^
>
> /usr/include/sys/select.h(118): error #77: this declaration has no storage
> class or type specifier
> __END_DECLS
> ^
>
> /opt/intel/compiler70/ia32/substitute_headers/sys/types.h(224): error:
> expected a ";"
> typedef __blkcnt_t blkcnt_t; /* Type to count number of disk blocks.
> */ ^
>
> /opt/intel/compiler70/ia32/substitute_headers/sys/types.h(256): error #77:
> this declaration has no storage class or type specifier
> __END_DECLS
> ^
>
> /opt/intel/compiler70/ia32/substitute_headers/sys/types.h(256): error:
> variable "__END_DECLS" has already been defined
> __END_DECLS
> ^
>
> /usr/include/stdlib.h(397): error: expected a ";"
> extern long int random (void) __THROW;
> ^
>
> /usr/include/stdlib.h(400): error: expected a "{"
> extern void srandom (unsigned int __seed) __THROW;
> ^
>
> /usr/include/stdlib.h(421): error: identifier "int32_t" is undefined
> int32_t *fptr; /* Front pointer. */
> ^
>
> /usr/include/stdlib.h(421): error: identifier "fptr" is undefined
> int32_t *fptr; /* Front pointer. */
> ^
>
> /usr/include/stdlib.h(422): error: identifier "rptr" is undefined
> int32_t *rptr; /* Rear pointer. */
> ^
>
> /usr/include/stdlib.h(423): error: identifier "state" is undefined
> int32_t *state; /* Array of state values. */
> ^
>
> /usr/include/stdlib.h(427): error: identifier "end_ptr" is undefined
> int32_t *end_ptr; /* Pointer behind state table. */
> ^
>
> /usr/include/stdlib.h(431): error: identifier "int32_t" is undefined
> int32_t *__restrict __result) __THROW;
> ^
>
> /usr/include/stdlib.h(431): error: expected a "{"
> int32_t *__restrict __result) __THROW;
> ^
>
> /usr/include/stdlib.h(491): error: expected a "{"
> double *__restrict __result) __THROW;
> ^
>
> /usr/include/stdlib.h(551): error: expected a "{"
> extern void *valloc (size_t __size) __THROW __attribute_malloc__;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(17): error: expected a "{"
> int fileno(FILE *) __THROW;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(46): error: the global scope has
> no "clearerr"
> using ::clearerr; using ::fclose; using ::feof;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(46): error: the global scope has
> no "fclose"
> using ::clearerr; using ::fclose; using ::feof;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(46): error: the global scope has
> no "feof"
> using ::clearerr; using ::fclose; using ::feof;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(47): error: the global scope has
> no "ferror"
> using ::ferror; using ::fflush; using ::fgetc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(47): error: the global scope has
> no "fflush"
> using ::ferror; using ::fflush; using ::fgetc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(47): error: the global scope has
> no "fgetc"
> using ::ferror; using ::fflush; using ::fgetc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(48): error: the global scope has
> no "fgetpos"
> using ::fgetpos; using ::fgets; using ::fopen;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(48): error: the global scope has
> no "fgets"
> using ::fgetpos; using ::fgets; using ::fopen;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(48): error: the global scope has
> no "fopen"
> using ::fgetpos; using ::fgets; using ::fopen;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(49): error: the global scope has
> no "fprintf"
> using ::fprintf; using ::fputc; using ::fputs;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(49): error: the global scope has
> no "fputc"
> using ::fprintf; using ::fputc; using ::fputs;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(49): error: the global scope has
> no "fputs"
> using ::fprintf; using ::fputc; using ::fputs;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(50): error: the global scope has
> no "fread"
> using ::fread; using ::freopen; using ::fscanf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(50): error: the global scope has
> no "freopen"
> using ::fread; using ::freopen; using ::fscanf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(50): error: the global scope has
> no "fscanf"
> using ::fread; using ::freopen; using ::fscanf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(51): error: the global scope has
> no "fseek"
> using ::fseek; using ::fsetpos; using ::ftell;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(51): error: the global scope has
> no "fsetpos"
> using ::fseek; using ::fsetpos; using ::ftell;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(51): error: the global scope has
> no "ftell"
> using ::fseek; using ::fsetpos; using ::ftell;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(52): error: the global scope has
> no "fwrite"
> using ::fwrite; using ::getc; using ::getchar;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(52): error: the global scope has
> no "getc"
> using ::fwrite; using ::getc; using ::getchar;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(52): error: the global scope has
> no "getchar"
> using ::fwrite; using ::getc; using ::getchar;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(53): error: the global scope has
> no "gets"
> using ::gets; using ::perror;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(53): error: the global scope has
> no "perror"
> using ::gets; using ::perror;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(54): error: the global scope has
> no "putc"
> using ::putc; using ::putchar;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(54): error: the global scope has
> no "putchar"
> using ::putc; using ::putchar;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(55): error: the global scope has
> no "printf"
> using ::printf; using ::puts; using ::remove;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(55): error: the global scope has
> no "puts"
> using ::printf; using ::puts; using ::remove;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(56): error: the global scope has
> no "rename"
> using ::rename; using ::rewind; using ::scanf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(56): error: the global scope has
> no "rewind"
> using ::rename; using ::rewind; using ::scanf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(56): error: the global scope has
> no "scanf"
> using ::rename; using ::rewind; using ::scanf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(57): error: the global scope has
> no "setbuf"
> using ::setbuf; using ::setvbuf; using ::sprintf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(57): error: the global scope has
> no "setvbuf"
> using ::setbuf; using ::setvbuf; using ::sprintf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(57): error: the global scope has
> no "sprintf"
> using ::setbuf; using ::setvbuf; using ::sprintf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(58): error: the global scope has
> no "sscanf"
> using ::sscanf; using ::tmpfile; using ::tmpnam;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(58): error: the global scope has
> no "tmpfile"
> using ::sscanf; using ::tmpfile; using ::tmpnam;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(58): error: the global scope has
> no "tmpnam"
> using ::sscanf; using ::tmpfile; using ::tmpnam;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(59): error: the global scope has
> no "ungetc"
> using ::ungetc; using ::vfprintf; using ::vprintf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(59): error: the global scope has
> no "vfprintf"
> using ::ungetc; using ::vfprintf; using ::vprintf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(59): error: the global scope has
> no "vprintf"
> using ::ungetc; using ::vfprintf; using ::vprintf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdio(60): error: the global scope has
> no "vsprintf"
> using ::vsprintf;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(19): error: identifier "labs" is
> undefined
> return (labs(_Left));
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(24): error: identifier "ldiv" is
> undefined
> return (ldiv(_Left, _Right));
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(30): error: the global scope has
> no "abort"
> using ::abort; using ::abs; using ::atexit;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(30): error: the global scope has
> no "abs"
> using ::abort; using ::abs; using ::atexit;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(30): error: the global scope has
> no "atexit"
> using ::abort; using ::abs; using ::atexit;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(31): error: the global scope has
> no "atof"
> using ::atof; using ::atoi; using ::atol;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(31): error: the global scope has
> no "atoi"
> using ::atof; using ::atoi; using ::atol;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(31): error: the global scope has
> no "atol"
> using ::atof; using ::atoi; using ::atol;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(32): error: the global scope has
> no "bsearch"
> using ::bsearch; using ::calloc; using ::div;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(32): error: the global scope has
> no "calloc"
> using ::bsearch; using ::calloc; using ::div;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(32): error: the global scope has
> no "div"
> using ::bsearch; using ::calloc; using ::div;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(33): error: the global scope has
> no "exit"
> using ::exit; using ::free; using ::getenv;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(33): error: the global scope has
> no "free"
> using ::exit; using ::free; using ::getenv;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(33): error: the global scope has
> no "getenv"
> using ::exit; using ::free; using ::getenv;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(34): error: the global scope has
> no "labs"
> using ::labs; using ::ldiv; using ::malloc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(34): error: the global scope has
> no "ldiv"
> using ::labs; using ::ldiv; using ::malloc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(34): error: the global scope has
> no "malloc"
> using ::labs; using ::ldiv; using ::malloc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(35): error: the global scope has
> no "mblen"
> using ::mblen; using ::mbstowcs; using ::mbtowc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(35): error: the global scope has
> no "mbstowcs"
> using ::mblen; using ::mbstowcs; using ::mbtowc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(35): error: the global scope has
> no "mbtowc"
> using ::mblen; using ::mbstowcs; using ::mbtowc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(36): error: the global scope has
> no "qsort"
> using ::qsort; using ::rand; using ::realloc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(36): error: the global scope has
> no "rand"
> using ::qsort; using ::rand; using ::realloc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(36): error: the global scope has
> no "realloc"
> using ::qsort; using ::rand; using ::realloc;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(37): error: the global scope has
> no "srand"
> using ::srand; using ::strtod; using ::strtol;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(37): error: the global scope has
> no "strtod"
> using ::srand; using ::strtod; using ::strtol;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(37): error: the global scope has
> no "strtol"
> using ::srand; using ::strtod; using ::strtol;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(38): error: the global scope has
> no "strtoul"
> using ::strtoul; using ::system;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(38): error: the global scope has
> no "system"
> using ::strtoul; using ::system;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(39): error: the global scope has
> no "wcstombs"
> using ::wcstombs; using ::wctomb;
> ^
>
> /opt/intel/compiler70/ia32/include/cstdlib(39): error: the global scope has
> no "wctomb"
> using ::wcstombs; using ::wctomb;
> ^
>
> /opt/intel/compiler70/ia32/include/cstring(16): error: the global scope has
> no "memchr"
> using ::size_t; using ::memchr; using ::memcmp;
> ^
>
> compilation aborted for
> /usr/src/packages/SOURCES/VTK/Rendering/vtkAbstractMapper3D.cxx (code 4)
> make[3]: *** [vtkAbstractMapper3D.o] Fehler 4
> make[2]: *** [default_target] Fehler 2
> make[1]: *** [default_target_Rendering] Fehler 2
> make: *** [default_target] Fehler 2
>
> _______________________________________________
> This is the private VTK discussion list.
> Please keep messages on-topic. Check the FAQ at:
> <http://public.kitware.com/cgi-bin/vtkfaq> Follow this link to
> subscribe/unsubscribe:
> http://public.kitware.com/mailman/listinfo/vtkusers
More information about the vtkusers
mailing list