Discussion:
Problems compiling gromacs-3.1.4 using MIPSpro 7.3.1.3m compiler on IRIX 6.5
(too old to reply)
Markus Meier
2002-10-11 12:25:20 UTC
Permalink
Dear all

I have problems to compile gromacs-3.1.4 on IRIX64 v. 6.5 using the
MIPSpro 7.3.1.3m compiler.
The same code compiles without problems on Mac OS X using gcc or OSF1
alpha using Compaq C V6.3-029 compiler.
Did someone else run into the same difficulties (and was maybe able to
find a fix?)

I used the following configuration:

setenv CFLAGS "-64 -mips4 -I/progs/include"
setenv LDFLAGS "-L/usr/lib64 -L/usr/lib64/mips4 -L/usr/lib64/r10000
-L/progs/lib64"
./configure --prefix=/progs/app/gromacs-3.1.4
--exec-prefix=/progs/app/gromacs-3.1.4 --enable-shared --with-x

The compilation aborts at fnbf.c with the following error:

Making all in src
cd .. \
&& CONFIG_FILES= CONFIG_HEADERS=src/config.h \
/bin/sh ./config.status
config.status: creating src/config.h
config.status: src/config.h is unchanged
make all-recursive
Making all in gmxlib
source='fnbf.c' object='fnbf.lo' libtool=yes \
depfile='.deps/fnbf.Plo' tmpdepfile='.deps/fnbf.TPlo' \
depmode=sgi /bin/sh ../../config/depcomp \
/bin/sh ../../libtool --mode=compile cc -DHAVE_CONFIG_H -I. -I.
-I../../src -I../../include
-DGMXLIBDIR=\"/progs/app/gromacs-3.1.4/share/top\" -64 -mips4
-I/progs/include -c -o fnbf.lo `test -f fnbf.c || echo './'`fnbf.c
cc -DHAVE_CONFIG_H -I. -I. -I../../src -I../../include
-DGMXLIBDIR=\"/progs/app/gromacs-3.1.4/share/top\" -64 -mips4
-I/progs/include -c fnbf.c -Wp,-MDupdate,.deps/fnbf.TPlo -DPIC -o
.libs/fnbf.o
cc-1090 cc: ERROR File = inner.h, Line = 147
Function returning function is not allowed.

void FUNC(inl0100,INL0100)(COMMON_ARGS REC_BUF LJ_ARGS);
^

cc-1092 cc: ERROR File = inner.h, Line = 147
Identifier-list parameters can only be used in a function definition.

void FUNC(inl0100,INL0100)(COMMON_ARGS REC_BUF LJ_ARGS);
^

cc-1090 cc: ERROR File = inner.h, Line = 149
Function returning function is not allowed.

void FUNC(inl0110,INL0110)(COMMON_ARGS REC_BUF LJ_ARGS SOLMN_ARGS);
^

cc-1092 cc: ERROR File = inner.h, Line = 149
Identifier-list parameters can only be used in a function definition.

void FUNC(inl0110,INL0110)(COMMON_ARGS REC_BUF LJ_ARGS SOLMN_ARGS);

Thank you for your help!
Best regards,
Markus

Markus Meier
M. E. M?ller Institut
Biozentrum der Universit?t Basel
Klingelbergstrasse 70
CH-4056 Basel
Tel.: +41 61 267 20 91
Fax: +41 61 267 21 09
Erik Lindahl
2002-10-14 04:30:20 UTC
Permalink
Hi,
Post by Markus Meier
^
cc-1092 cc: ERROR File = inner.h, Line = 149
Identifier-list parameters can only be used in a function definition.
void FUNC(inl0110,INL0110)(COMMON_ARGS REC_BUF LJ_ARGS SOLMN_ARGS);
All those capital letters are preprocessor macros. For some reason your
setup doesn't preprocess them but sends them to the compiler, which
understandably complains :-)

Make sure you did a 'make distclean' if you used the source for some
other compile too. Apart from that I'm out of ideas.

SGI has worked flawlessly before - did anybody else succeed (or fail) in
compiling 3.1.4 on SGI?

Cheers,

Erik
Marc Saric
2002-10-14 13:10:55 UTC
Permalink
Post by Erik Lindahl
SGI has worked flawlessly before - did anybody else succeed (or fail) in
compiling 3.1.4 on SGI?
I did recently on a SGI Origin running IRIX 6.5 with MPI-support. I just
used the installation-instructions given in the online-manual, and it
worked (at least I could get binaries for single and double precision,
haven't tested them fully up to now).

So it could not be a general SGI-problem, maybe something with the
specific setup of that machine, or compiler/library-version or OS-version.
--
Bye, Marc Saric

Max-Planck-Institut fuer molekulare Physiologie
Otto-Hahn-Str.11 44227 Dortmund phone:0231/133-2168
Patrick Ladam
2002-10-14 22:53:33 UTC
Permalink
Post by Erik Lindahl
SGI has worked flawlessly before - did anybody else succeed (or fail) in
compiling 3.1.4 on SGI?
I gave up trying to compile on an SGI/IRIX 6.5 with the gcc 2.95 and downloaded
the Origin version on the gmx site. If I remember well that was a problem with

the old32 bit format libraries during linking stage. This is

a redundant problem on SGI.

Bye

------------------------------------------------------------------
| Patrick LADAM | |
| Laboratoire CSSB | THE BIG BANG THEORY: |
| UFR SMBH | |
| 74 rue Marcel Cachin | In the begining there was |
| 93017 Bobigny CEDEX | nothing at all. |
| >>> NEW e-mail: <<< | |
| ladam at smbh.smbh.univ-paris13.fr | Then, it exploded... |
| Tel: 01 48 38 77 26 / 76 85 | |
| Fax: 01 48 38 77 77 | |
------------------------------------------------------------------
K.A. Feenstra
2002-10-17 06:54:59 UTC
Permalink
Post by Erik Lindahl
Hi,
Post by Markus Meier
^
cc-1092 cc: ERROR File = inner.h, Line = 149
Identifier-list parameters can only be used in a function definition.
void FUNC(inl0110,INL0110)(COMMON_ARGS REC_BUF LJ_ARGS SOLMN_ARGS);
All those capital letters are preprocessor macros. For some reason your
setup doesn't preprocess them but sends them to the compiler, which
understandably complains :-)
Make sure you did a 'make distclean' if you used the source for some
other compile too. Apart from that I'm out of ideas.
SGI has worked flawlessly before - did anybody else succeed (or fail) in
compiling 3.1.4 on SGI?
I had no problems on a 4 processor Origin server with either 3.1.4,
the 3.1.5alpha or the CVS.
Don't have it's stats right now, if you want them, please ask... ;-)
--
Groetjes,

Anton
________ ___________________________________________________________
| | Anton Feenstra |
| . | Dept. of Pharmacochemistry - Vrije Universiteit Amsterdam |
| |---- | De Boelelaan 1083 - 1081 HV Amsterdam - The Netherlands |
| |---- | Tel: +31 20 44 47608 - Fax: +31 20 44 47610 |
| ' __ | Feenstra at chem.vu.nl - http://www.chem.vu.nl/afdelingen/FAR|
| / \ |-----------------------------------------------------------|
| ( ) | Dept. of Biophysical Chemistry - University of Groningen |
| \__/ | Nijenborgh 4 - 9747 AG Groningen - The Netherlands |
| __ | Tel +31 50 363 4327 - Fax +31 50 363 4800 |
| / \ | K.A.Feenstra at chem.rug.nl - http://md.chem.rug.nl/~anton |
| ( ) |-----------------------------------------------------------|
| \__/ | "If You See Me Getting High, Knock Me Down" |
| | (Red Hot Chili Peppers) |
|________|___________________________________________________________|
Markus Meier
2002-10-14 15:07:09 UTC
Permalink
There is the problem that the Fortran 77 name-mangling is not
recognized correctly by the configure script:

checking for Fortran 77 name-mangling scheme... unknown
configure: WARNING: unknown Fortran 77 name-mangling scheme

Consequently, the macros are expanded by the preprocessor as can seen
below, but the F77_FUNC macro is not regcognized as such.

Markus

cc -DHAVE_CONFIG_H -I. -I. -I../../src -I../../include
-DGMXLIBDIR=\"/progs/app/gromacs-3.1.4/share/top\" -64 -mips4
-I/progs/include -c fnbf_preprocessed.c -DPIC -o .libs/fnbf.o | & more
cc-1090 cc: ERROR File = inner.h, Line = 147
Function returning function is not allowed.

void F77_FUNC(inl0100,INL0100)(int *nri,int iinr[],int jindex[], int
jjnr[], int shift[],real shiftvec[], real fshift[],int gid[] ,real
x[],real f[] ,int typeA[],int *ntype,real nbfp[],real egnb[]);
^

cc-1092 cc: ERROR File = inner.h, Line = 147
Identifier-list parameters can only be used in a function definition.

void F77_FUNC(inl0100,INL0100)(int *nri,int iinr[],int jindex[], int
jjnr[], int shift[],real shiftvec[], real fshift[],int gid[] ,real
x[],real f[] ,int typeA[],int *ntype,real nbfp[],real egnb[]);
^
Post by Erik Lindahl
Post by Markus Meier
cc-1092 cc: ERROR File = inner.h, Line = 149
Identifier-list parameters can only be used in a function
definition.
void FUNC(inl0110,INL0110)(COMMON_ARGS REC_BUF LJ_ARGS SOLMN_ARGS);
All those capital letters are preprocessor macros. For some reason
your setup doesn't preprocess them but sends them to the compiler,
which understandably complains :-)
Make sure you did a 'make distclean' if you used the source for some
other compile too. Apart from that I'm out of ideas.
SGI has worked flawlessly before - did anybody else succeed (or fail)
in compiling 3.1.4 on SGI?
Cheers,
Erik
Markus Meier
M. E. M?ller Institut
Biozentrum der Universit?t Basel
Klingelbergstrasse 70
CH-4056 Basel
Tel.: +41 61 267 20 91
Fax: +41 61 267 21 09
Erik Lindahl
2002-10-14 15:53:29 UTC
Permalink
Post by Markus Meier
There is the problem that the Fortran 77 name-mangling is not
checking for Fortran 77 name-mangling scheme... unknown
configure: WARNING: unknown Fortran 77 name-mangling scheme
Consequently, the macros are expanded by the preprocessor as can seen
below, but the F77_FUNC macro is not regcognized as such.
Markus
Hi Markus,

In that case you should just turn of the fortran code with the
"--disable-fortran" option to configure. Were you trying to combine SGI
cc with gnu fortran or something?

Cheers,

Erik
Markus Meier
2002-10-14 16:50:37 UTC
Permalink
Dear all

The problem is that f77 produces n32 objects per default, but I told
the c compiler to produce 64 bit objects. The incompatibility is the
cause that the fortran name-mangling is not regcognized correctly by
the configure script. The solution is, to provide 64 bit flags to both
compilers:

setenv FFLAGS "-64 -mips4"
setenv CFLAGS "-64 -mips4 -I/progs/include"
setenv LDFLAGS "-L/usr/lib64 -L/usr/lib64/mips4 -L/usr/lib64/r10000
-L/progs/lib64"
./configure --prefix=/progs/app/gromacs-3.1.4
--exec-prefix=/progs/app/gromacs-3.1.4 --enable-shared --with-x

Thanks to all people who helped to sort this out, especially Erik.

Cheers,
Markus
Post by Erik Lindahl
Hi Markus,
In that case you should just turn of the fortran code with the
"--disable-fortran" option to configure. Were you trying to combine
SGI cc with gnu fortran or something?
Cheers,
Erik
Markus Meier
M. E. M?ller Institut
Biozentrum der Universit?t Basel
Klingelbergstrasse 70
CH-4056 Basel
Tel.: +41 61 267 20 91
Fax: +41 61 267 21 09
Erik Lindahl
2002-10-14 17:05:32 UTC
Permalink
Post by Markus Meier
Dear all
The problem is that f77 produces n32 objects per default, but I told
the c compiler to produce 64 bit objects. The incompatibility is the
cause that the fortran name-mangling is not regcognized correctly by
the configure script. The solution is, to provide 64 bit flags to both
setenv FFLAGS "-64 -mips4"
setenv CFLAGS "-64 -mips4 -I/progs/include"
setenv LDFLAGS "-L/usr/lib64 -L/usr/lib64/mips4 -L/usr/lib64/r10000
-L/progs/lib64"
./configure --prefix=/progs/app/gromacs-3.1.4
--exec-prefix=/progs/app/gromacs-3.1.4 --enable-shared --with-x
Thanks for taking the trouble to sort it out Markus. I'll add it to the FAQ.

Cheers,

Erik
Loading...