- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried to run my program in parallel.
under redhat FC2, ICC 8.0 didn't work for parallel (OPENMP). I had installed the updated version of ICC-8.1(latest one). But, I cannot compile blitz++8.0(CVS version) library anymore. I got error message as following :
(Is this a bug? becasue I compiled same code with icc8-8.0-44 with no problem under redhat FC1)
/bin/sh ../libtool --mode=compile --tag=CXX icpc -DHAVE_CONFIG_H -I. -I.. -I.. -strict_ansi -c -o globals.lo `test -f '../src/globals.cpp' || echo './'`../src/globals.cpp
icpc -DHAVE_CONFIG_H -I. -I.. -I.. -strict_ansi -c ../src/globals.cpp -Wp,-MD,.deps/globals.TPlo -o globals.o
/usr/include/c++/3.3.2/bits/stl_alloc.h(968): error: "template" is not allowed
extern template class allocator;
....
compilation aborted for ../src/globals.cpp (code 4)
make[1]: *** [globals.lo] Error 1
BTW, I run ./configure CXX=icpc, I got some ridiculous message:
(icpc doesn't support complex..... For sure, it does support, but why????)
Which library features does your compiler provide?
checking whether the compiler has complex... no
checking whether the compiler has standard complex functions... no
.....
Thanks
under redhat FC2, ICC 8.0 didn't work for parallel (OPENMP). I had installed the updated version of ICC-8.1(latest one). But, I cannot compile blitz++8.0(CVS version) library anymore. I got error message as following :
(Is this a bug? becasue I compiled same code with icc8-8.0-44 with no problem under redhat FC1)
/bin/sh ../libtool --mode=compile --tag=CXX icpc -DHAVE_CONFIG_H -I. -I.. -I.. -strict_ansi -c -o globals.lo `test -f '../src/globals.cpp' || echo './'`../src/globals.cpp
icpc -DHAVE_CONFIG_H -I. -I.. -I.. -strict_ansi -c ../src/globals.cpp -Wp,-MD,.deps/globals.TPlo -o globals.o
/usr/include/c++/3.3.2/bits/stl_alloc.h(968): error: "template" is not allowed
extern template class allocator;
....
compilation aborted for ../src/globals.cpp (code 4)
make[1]: *** [globals.lo] Error 1
BTW, I run ./configure CXX=icpc, I got some ridiculous message:
(icpc doesn't support complex..... For sure, it does support, but why????)
Which library features does your compiler provide?
checking whether the compiler has complex... no
checking whether the compiler has standard complex functions... no
.....
Thanks
Message Edited by fengfs@gmail.com on 12-15-2004 09:23 PM
Message Edited by fengfs@gmail.com on 12-15-2004 09:23 PM
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
config scripts usually record their actions in config.log. There, you ought to see what test was performed and what its failure mode was.
You are using libraries provided by the g++ you have installed.
If you Google on the combination "extern template," you should see expert advice pointing out that it is a compiler dependent extension for that to be allowed. With g++, it should make a difference whether you set permissive or strict syntax options. If so, and icpc fails to follow suit, it may be worth a problem report on premier.intel.com, asking for icpc to implement the g++ syntax extension.
You are using libraries provided by the g++ you have installed.
If you Google on the combination "extern template," you should see expert advice pointing out that it is a compiler dependent extension for that to be allowed. With g++, it should make a difference whether you set permissive or strict syntax options. If so, and icpc fails to follow suit, it may be worth a problem report on premier.intel.com, asking for icpc to implement the g++ syntax extension.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Yes. I'd be inclined to try compiling with -strict_ansi turned off. The Intel compiler interprets the -strict_ansi option to mean the Intel compiler's definition of ISO conformance. I believe extern template is a GNU extension that is not in the C++98 standard so it would probably be flagged as an error with -strict_ansi. You could try backing down to -ansi which is our best approximation of GNU's definition of ISO conformance. This may be your best alternative if you want to use extern template but still have good conformance checks. If you find that GNU is able to compile the code with -ansi and our compiler is not, you would have grounds to file a premier issue.
Regards,
Max
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
First, I would like to thank you (tim18 and mjdomeik ) for your replies.
I did follow mjdomeik's suggestion (turned off -static-ansi option) and the compilers behaved just like you imagined. icpc can compile blitz++ 8.0 very well unless some warning messages. That's OK, I thought. The major question is that the executable files of the "testsuite" generated by icpc just aborted for some reason when I run it but files created by g++ had no problem when running.
I wish I could figure this out and I also hope that you can give me some suggestions.
Many thanks.
Feng
I did follow mjdomeik's suggestion (turned off -static-ansi option) and the compilers behaved just like you imagined. icpc can compile blitz++ 8.0 very well unless some warning messages. That's OK, I thought. The major question is that the executable files of the "testsuite" generated by icpc just aborted for some reason when I run it but files created by g++ had no problem when running.
I wish I could figure this out and I also hope that you can give me some suggestions.
Many thanks.
Feng
Message Edited by fengfs@gmail.com on 12-18-2004 12:45 PM
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page