[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [bgl-discuss] include file



At 03:48 PM 9/7/2005, Xu, Jin wrote:

Hi,

I am trying to compile my C++ code on BlueGene, but have some problems with include files.

This is a bug in the MPI-2 specification, which the mpi.h header file (specifically, the mpicxx.h file included by mpi.h) is warning you about. To work around this, try including mpi.h before stdio.h (and xxxstream.h). Alternately, if you aren't using SEEK_SET etc, #undef them before including mpi.h .


Bill


  The command I use is following:

work/Hybrid> /bgl/BlueLight/ppcfloor/bglsys/bin/mpicxx -I./include -I/bgl/BlueLight/ppcfloor/bglsys/include -g -c -o ./turbulence180e.o src/turbulence180e.C

   And it gives following output.

In file included from /bgl/BlueLight/DRV202_2005-050606-SLES8/ppc/blrts-gnu/include/c++/3.2/backward/iostream.h:31,
from src/turbulence180e.h:1,
from src/turbulence180e.C:16:
/bgl/BlueLight/DRV202_2005-050606-SLES8/ppc/blrts-gnu/include/c++/3.2/backward/backward_warning.h:32:2: warning: #warning This file includes at least one deprecated or antiquated header. Please consider using one of the 32 headers found in section 17.4.1.2 of the C++ standard. Examples include substituting the <X> header for the <X.h> header for C++ includes, or <sstream> instead of the deprecated header <strstream.h>. To disable this warning use -Wno-deprecated.
In file included from /bgl/BlueLight/DRV202_2005-050606-SLES8/ppc/bglsys/include/mpi.h:1107,
from src/turbulence180e.h:11,
from src/turbulence180e.C:16:
/bgl/BlueLight/DRV202_2005-050606-SLES8/ppc/bglsys/include/mpicxx.h:26:2: #error "SEEK_SET is #defined but must not be for the C++ binding of MPI"
/bgl/BlueLight/DRV202_2005-050606-SLES8/ppc/bglsys/include/mpicxx.h:30:2: #error "SEEK_CUR is #defined but must not be for the C++ binding of MPI"
/bgl/BlueLight/DRV202_2005-050606-SLES8/ppc/bglsys/include/mpicxx.h:35:2: #error "SEEK_END is #defined but must not be for the C++ binding of MPI"


  The file src/turbulence180e.h contains:

#include        <iostream.h>
#include        <iomanip.h>
#include        <fstream.h>
#include        <stdio.h>
#include        <string.h>
#include        <math.h>
#include        "polylib.h"
#include        "veclib.h"
#include        "fftw.h"
#include        "rfftw.h"
#include        "mpi.h"
.......

   There seems some conflicts for iostream.h and mpi.h with others.

   I like to hear any suggestions.

Thanks,
Jin


- -------------------------------------------------------------------- To add or remove yourself from this mailing list, use the 'notifyme' command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.

William Gropp
http://www.mcs.anl.gov/~gropp


- --------------------------------------------------------------------
To add or remove yourself from this mailing list, use the 'notifyme'
command on any BGL machine. To remove: notifyme -n, to add: notifyme -y.