Compiling MPICH2 with 7.0 fails at very end of installation

I’m trying to compile mpich2-1.0.5p4
On “make install”, I get:

pgcc -shared -fpic -DPIC .libs/trace_input.o .libs/rlogutil.o
.libs/logformat_trace_InputLog.o -lc -Wl,-soname -Wl,libTraceInput.so
-Wl,-version-script -Wl,.libs/libTraceInput.ver -o .libs/libTraceInput.so
/usr/bin/ld: .libs/trace_input.o: relocation R_X86_64_PC32 against `__pgio_ini’ can
not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: Bad value
make[2]: *** [INSTALL_LIBSO] Error 2

Current flags I’m using:
export=CFLAGS="-fast "
export=CXXFLAGS="-fast -fPIC -DPIC"
export=FFLAGS="-fast "
export=F90FLAGS="-fast "
export=LDFLAGS="-fast "
export=OPTFLAGS="-fast "
export FC=“pgf77”

What am I doing wrong? I see http://www.pgroup.com/userforum/viewtopic.php?p=3277&sid=e5f50252d1580fdb6c7ec6280da2282f
had something sort of similar, but I don’t think I’m using torque. Are there other flags I should be using?

I’m running this on Rocks 4.2.1 which is a modified CentOS 4.4.

Thanks for any advice!
Alex

Alex,

Are these 32-bit compilers or 64-bit compilers you are using?
Did you follow our tips and technique for MPICH2?
You will first need to update your export command from export=CFLAGS="-fast" to export CFLAGS="-fast" and so on.

Here are commands you can use on csh, assuming you install compiler in /opt/pgi.

% setenv PATH /opt/pgi/linux86-64/7.0/bin:$PATH
% env CFLAGS="-fast " CXXFLAGS="-fast" FFLAGS="-fast " F90FLAGS="-fast " LDFLAGS="-fast " OPTFLAGS="-fast " CC=“pgcc” CXX=“pgCC” F90=“pgf90” FC=“pgf77” CPP=“pgCC -E” ./configure --prefix=/path/to/install/dir

Let me know if you still have a problem.

If this is the only error you have, you can ignore unless you are planning to use MPI trace.

Hongyon

I don’t know how the extra = got in there! I wasn’t using those.

I’m following your MPICH2 stuff, and compiling with the 64bit compiler for Opterons.

Is mpi-trace important?

Thanks!
Alex

Alex,

You can do without MPE. I believe MPE is used for profilng MPI.

If you just want to run MPI program, mpi-trace is not needed. In fact, you can try by adding --without-mpe when you do configuration.

We just updated our cluster to ROCKS 4.3 and PGI 7.0-5 compilers. We didn’t see similar problem.

We will continue to investigate and will let you know if we find similar error.

Hongyon

Do you have any Rocks support documentation somewhere? I’m using 4.2.1. Perhaps I have misconfigured/broken something?

Alex,

You can find Rocks documentation at http://www.rocksclusters.org/rocks-documentation/4.2/.

Do you have a problem building a shared library with gcc?

Hongyon