[gmx-users] compiling gromacs on powerpc64

Martin Siegert siegert at sfu.ca
Mon Aug 1 04:49:28 CEST 2005


On Sun, Jul 31, 2005 at 09:29:21PM +0200, David wrote:
> On Sun, 2005-07-31 at 11:59 -0700, Martin Siegert wrote:
> > Hi,
> > 
> > On Sat, Jul 30, 2005 at 03:55:20PM -0700, Martin Siegert wrote:
> > 
> > > I then try to run the d.dppc test case:
> > > grompp -c conf.gro -f grompp.mdp -p topol.top
> > > mdrun -s topol.tpr -nice 0
> > > 
> > > The grompp command completes fine, but the mdrun command fails with
> > > 
> > > Fatal error: Can not read file topol.tpr,
> > >              this file is from a Gromacs version which is older than 2.0
> > >              Make a new one with grompp or use a gro or pdb file, if possible
> > > 
> > > Thus, mdrun cannot read the topol.tpr file although both are definitely
> > > compiled from the same gromacs-3.2.1 source tree.
> > > 
> > > It gets really strange when I ran the grompp command on a different platform,
> > > Linux 64-bit Opteron, copied the so-generated topol.tpr file over to the
> > > PPC machine and ran mdrun using that topol.tpr file. That works!
> > > 
> > > But that really shouldn't work, should it? X86_64 is little endian and
> > > PowerPC is big endian. Thus, is there an endian issue that configure
> > > is not resolving correctly on the PPC platform or what is going wrong here?
> > 
> > By now I succeeded compiling gromacs-3.2.1 using the --disable-shared
> > configure option. This avoids all the libtool problems and compiles
> > cleanly. It nevertheless generates a grompp that produces topol.tpr
> > files that cannot be read by mdrun which lets me conclude that this
> > problem has nothing to do with the libtool problems reported in my
> > previous email. Thus:
> > 
> > How do I compile grompp on powerpc64?
> Maybe there is a problem with the xdr libraries, used for the platform-
> independent file formats that gromacs uses (edr, tpr, trr). Check which
> libraries gromacs uses for these.
> 
> Have you tried moving a powerpw64 tpr file to another machine and
> reading it there (using e.g. gmxdump)?

I tried that on the X86_64 platform and it give the same error message.
I spent the day getting gromacs to compile with libxml2 (libtool screws
that up as well) but even with libxml2 support the result remains the same.

You are probably right when suggesting that something goes wrong
with the compilation of those gromacs libraries. But if those file
formats are supposed to be platform indenpendent then there ought to
be some code that makes a decision to compile these libraries
differently on big endian and little endian machines. Does anybody
know where that code is and where the code is that detects whether
a platform is little endian or big endian?

Cheers,
Martin



More information about the gromacs.org_gmx-users mailing list