MCSclimate / MCT

Model Coupling Tookit
Other
43 stars 18 forks source link

mpi-serial tests with Portland Group #3

Closed rljacob closed 9 years ago

rljacob commented 10 years ago

I'm getting an error when trying to run the tests using pgi-13.9

make[1]: Entering directory /fusion/gpfs/home/jacob/MCTgithub/mpi-serial/tests' pgcc -DHAVE_CONFIG_H -I.. -o ctest ctest.c -L.. -lmpi-serial ../libmpi-serial.a(fort.o): In function.C1_307': fort.F90:(.data+0x40): undefined reference to `pgf90_compiled'

Any ideas?

rljacob commented 10 years ago

Built using: ./configure CC=pgcc FC=pgf90 --enable-mpiserial

rloy commented 10 years ago

This looks like a common PG issue with mixing C and Fortran. Some compiler flags are missing.

http://www.pgroup.com/userforum/viewtopic.php?p=664&sid=e5b877dd674e91e06a232d705ba55f14

My guess is that in the configure, in the PG section we need to add some flags.

I can help sort it out (need to locate a machine with PG) but will have to wait until after SC.

Ray

On Nov 14, 2014, at 6:18 PM, Robert Jacob notifications@github.com wrote:

I'm getting an error when trying to run the tests using pgi-13.9

make[1]: Entering directory /fusion/gpfs/home/jacob/MCTgithub/mpi-serial/tests' pgcc -DHAVE_CONFIG_H -I.. -o ctest ctest.c -L.. -lmpi-serial ../libmpi-serial.a(fort.o): In function.C1_307': fort.F90:(.data+0x40): undefined reference to `pgf90_compiled'

Any ideas?

— Reply to this email directly or view it on GitHub.

rljacob commented 10 years ago

What was missing is a library: -pgf90libs

But now I get a floating point exception in ctest

Simple struct to create complex struct

Complex struct type composed of other struct. make[1]: * [runtests] Floating point exception (core dumped) make[1]: Leaving directory `/fusion/gpfs/home/jacob/MCTgithub/mpi-serial/tests' make: * [tests] Error 2

rloy commented 10 years ago

Could be something is not aligned right on that platform (eg bad value from config for padding). What platform are you on? -Ray

On November 17, 2014 10:53:57 AM CST, Robert Jacob notifications@github.com wrote:

What was missing is a library: -pgf90libs

But now I get a floating point exception in ctest

Simple struct to create complex struct

Complex struct type composed of other struct. make[1]: * [runtests] Floating point exception (core dumped) make[1]: Leaving directory `/fusion/gpfs/home/jacob/MCTgithub/mpi-serial/tests' make: * [tests] Error 2


Reply to this email directly or view it on GitHub: https://github.com/MCSclimate/MCT/issues/3#issuecomment-63335757

rljacob commented 10 years ago

blues.lcrc.anl.gov

rljacob commented 9 years ago

The PGI debugger points to line 521 in ctest.c which is a close brace "}".

rljacob commented 9 years ago

Based on printf debugging, this is the line causing PGI to crash: s_disps[0] = (void*)&(send[0].a) - sadd;

rljacob commented 9 years ago

Problem is that subtraction of two void pointers is not legal according to this StackOverflow discussion: http://stackoverflow.com/questions/2710923/warning-pointer-of-type-void-used-in-subtraction

PGI didn't issue a warning, it just crashed.

rloy commented 9 years ago

Did you change them to char * or something?

On Dec 3, 2014, at 3:33 PM, Robert Jacob notifications@github.com wrote:

Problem is that subtraction of two void pointers is not legal according to this StackOverflow discussion: http://stackoverflow.com/questions/2710923/warning-pointer-of-type-void-used-in-subtraction

PGI didn't issue a warning, it just crashed.

— Reply to this email directly or view it on GitHub.

rljacob commented 9 years ago

Yes char *.