Troy Telford wrote:
The configure seemed to go OK, but the make failed. As you see at the
end of the
make output, it doesn't like the format of libgm.so. It looks to me
that it is using
a path (/usr/lib/.....) to 32 bit libraries, rather than 64 bit
(/usr/lib64/....). Is this
correct? What's the solution?
First thing's first: Does it compile okay with gcc?
I'm not sure I understand, and besides I am strictly a Fortran guy.
However,
I have made a successful build on this system without 'gm' support, but that
is not very interesting because its executables only run on the
interactive node.
Therefore I don't think its a Fortran compiler problem, especially since
there
is already an MPICH/PGI combination running on the system.
I say this because PGI's compiler has proven stubborn from time to time:
I can compile Open MPI with PGI 6.0 just fine, but PGI 6.1 won't compile
for me either (different reasons, though -- I posted my problem earlier
this week).
That being said:
The distros get mixed in my mind, so I'm not sure if yours is one that:
a.) Puts 32-bit libs in /lib32 and /usr/lib32, with 64-bit libs in /lib64
and /usr/lib64 (and /lib points to lib64)
b.) 32-bit libs are in /lib and /usr/lib, and 64-bit are in /lib64 and
/usr/lib64
If your machine is a 'b' then yes, it does appear to be trying (and
failing) to use a 32-bit libgm.so
The answer is 'b'
The first thing I'd do is make sure you have a 64-bit version of libgm.so;
at least that is what I suspect.
Locate all instances of libgm.so, run 'file libgm.so' to ensure one of 'em
is 64-bit, and that the 64-bit library is in a path where the linker can
find it (ld.so.conf or LD_LIBRARY_PATH).
I checked, and '/usr/lib64/libgm.so' is definitely a 64 bit library, and
I am sure that /usr/lib64 is by default in a path where the linker
looks, since it is
a native 64 bit (Opteron) system. Just to be sure, however, I added
/usr/lib64 to
LD_LIBRARY_PATH, with the same results.