Intel® C++ Compiler
Community support and assistance for creating C++ code that runs on platforms based on Intel® processors.
- Intel Community
- Developer Software Forums
- Software Development Tools
- Intel® C++ Compiler
- Re: MPICH-1.2.4 with Intel C++ compiler on RedHat 8.0
7957 Discussions
More actions
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page
c00jsh00
Beginner
01-07-200312:29 AM
683 Views
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I wonder if it is a bug or not, but I am not able to install MPICH-1.2.4 on my Linux box.
Here is my situation:
OS: RedHat 8.0 with kernel 2.4.20smp
Intel Compiler 7.0 (ifc and icc)
Configure option:
./configure -cc=icc -fc=ifc -f90=ifc --with-device=ch_p4
--with-arch=LINUX --prefix=/opt/mpi/mpich124
The configuration was successful, however, the make process failed:
...
12 Lines Compiled
ar cr /work/source/mpich-1.2.4/lib/libmpichf90nc.a .tmp/mpi.o mpi1.o
mpi2.o
mpi_constants.o
if [ ! -d /work/source/mpich-1.2.4/include/f90base ] ; then
mkdir /work/source/mpich-1.2.4/include/f90base ; fi
cp mpi-base.mod /work/source/mpich-1.2.4/include/f90base/MPI.mod
cp MPI_CONSTANTS.mod /work/source/mpich-1.2.4/include/f90base
cp MPI1.mod /work/source/mpich-1.2.4/include/f90base
cp MPI2.mod /work/source/mpich-1.2.4/include/f90base
make --no-print-directory mpi-lib-test
make --no-print-directory profileliblink
Testing that MPI applications can be linked...
make --no-print-directory linktest
make overtake
/work/source/mpich-1.2.4/bin/mpicc -DUSE_SOCKLEN_T -DUSE_U_INT_FOR_XDR
-DHAVE_MPICHCONF_H -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE
_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_LONG_LONG_INT=1
-DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHA
VE_SLEEP=1 -DHAVE_SYSCONF=1 -c overtake.c
/work/source/mpich-1.2.4/bin/mpicc -DUSE_SOCKLEN_T -DUSE_U_INT_FOR_XDR
-DHAVE_MPICHCONF_H -DHAVE_STDLIB_H=1 -DHAVE_UNISTD_H=1 -DHAVE
_STRING_H=1 -DUSE_STDARG=1 -DHAVE_LONG_DOUBLE=1 -DHAVE_LONG_LONG_INT=1
-DHAVE_PROTOTYPES=1 -DHAVE_SIGNAL_H=1 -DHAVE_SIGACTION=1 -DHA
VE_SLEEP=1 -DHAVE_SYSCONF=1 -c test.c
/work/source/mpich-1.2.4/bin/mpicc -o overtake overtake.o test.o
/work/source/mpich-1.2.4/lib/libmpich.a(p4_utils.o): In function
`p4_wait_for_end':
p4_utils.o(.text+0xcb2): undefined reference to `__bswap_32'
p4_utils.o(.text+0xcc7): undefined reference to `__bswap_32'
/work/source/mpich-1.2.4/lib/libmpich.a(p4_utils.o): In function
`zap_remote_p4_processes':
p4_utils.o(.text+0x1078): undefined reference to `__bswap_32'
p4_utils.o(.text+0x1082): undefined reference to `__bswap_32'
p4_utils.o(.text+0x108c): undefined reference to `__bswap_32'
/work/source/mpich-1.2.4/lib/libmpich.a(p4_utils.o)(.text+0x1129): more
undefined references to `__bswap_32' follow
make[4]: *** [overtake] Error 1
make[3]: [linktest] Error 2 (ignored)
Could not link a C program with MPI libraries
make[3]: *** [linktest] Error 1
make[2]: *** [linktest] Error 2
make[1]: *** [mpi-lib-test] Error 2
make: *** [mpi] Error 2
I wonder if this is a bug in MPICH-1.2.4 or a bug in Intel's compiler and associated libraries?
The installation is successful with GNU compiler.
Regards
Jyh-Shyong Ho, PhD.
Research Scientist
National Center for High-Performance Computing
Hsinchu, Taiwan, ROC
- All forum topics
- Previous topic
- Next topic
Link Copied
5 Replies
hjmjohnson
Beginner
01-08-200309:47 PM
683 Views
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I don't think that the Intel C++ compiler is supported under RedHat 8.0. Actually, I think it is the version of glibc under RH8.0 that is not supported.
Regards,
Hans
Ganesh_R_Intel
Employee
01-13-200305:53 PM
683 Views
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hans is correct. The current version of the compiler is not validated on the glibc shipped with Redhat 8.0. A future update of the Intel compiler would be of help.
Jyh-Shyong Ho - Thanks for using this forum.
Hans - Thank you for answering!
Regards,
Ganesh
one_glen
Beginner
01-28-200306:58 AM
683 Views
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
here's how i built the mpich libs
i've built for suse 7.3 and rh8.0
./configure blah blah blah
make;make tests;make install
once it works
then ./configure for intel
./configure ifc_blah, ifc_blah
make sure you change the default extensions
make
after it thrashes around and look in the bin for the new mpf77_intel, blah,
that's it put them wherever you installed the others
cp_jain
Beginner
01-28-200305:08 PM
683 Views
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You need to apply a patch in bits/byteswap.h
Please refer to
http://gcc.gnu.org/ml/gcc-prs/2002-10/msg01154.html
for the patch.
As mentioned by Ganesh, the current version of the compiler is not validated on the glibc shipped with Redhat 8.0, but you may give a try to following workaround for Intel compiler -
Replace
#define __bswap_32(x)
(__extension__
({ register unsigned int __x = (x); __bswap_constant_32 (__x); }))
with
#define __bswap_32(x) __bswap_constant_32 ((unsigned int)x)
in bits/byteswap.h
The above patch and this workaround should solve your
issue.
Regards,
CP
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
- All forum topics
- Previous topic
- Next topic
Community support is provided during standard business hours (Monday to Friday 7AM - 5PM PST). Other contact methods are available here.
Intel does not verify all solutions, including but not limited to any file transfers that may appear in this community. Accordingly, Intel disclaims all express and implied warranties, including without limitation, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement, as well as any warranty arising from course of performance, course of dealing, or usage in trade.
For more complete information about compiler optimizations, see our Optimization Notice.