From: Stefano <sbo...@ya...> - 2005-12-22 16:04:39
|
Actually, I have installed mpi for windows (I have not checked if there is a cygwin package, I installed mpich). I have recompiled petsc / slepc enabling mpi. The build finished succesfully and even the examples were correctly performed. I reconfigured libmesh enabling mpi; in make.common I read: # MPI configuration # (only explicitly defined when PETSc is absent, otherwise snooped from PETSc) MPI_IMPL = petsc_snooped MPI_INCLUDE = MPI_LIB = Running make I have the following link error: Linking /cygdrive/c/libmesh-0.5.0/contrib/lib/i686-pc-cygwin_opt/libparmetis.so akwayfm.i686-pc-cygwin.opt.o:akwayfm.c:(.text+0x35): undefined reference to `_MPI_Wtime' Many other follow, all signalling an undef reference to an MPI function. The problem is not only for this optional package, becasue if I disable it, the same link problem persist for the core libraries. I changed the Make.Common in the following way but without success: # MPI configuration # (only explicitly defined when PETSc is absent, otherwise snooped from PETSc) MPI_IMPL = petsc_snooped MPI_INCLUDE = /cygdrive/c/mpich/sdk.gcc/include MPI_LIB = /cygdrive/c/mpich/sdk.gcc/lib Regards Stefano --- John Peterson <pet...@cf...> wrote: > From: John Peterson <pet...@cf...> > Date: Thu, 22 Dec 2005 09:00:26 -0600 > To: sbo...@ya... > Subject: Re: [Libmesh-users] install under cygwin > with petsc / slepc > > Stefano writes: > > I am still struggling with the installation. > > After succesfully installing petsc and slepc, I > > configure libmesh with the command > > ./configure --enable-petsc --enable-slepc > --with-mpi=0 > > > > But it seems that --with-mpi=0 is not unsderstood > > cause compiling > > src/mesh/mesh_communication.C... > > I get: > > src/mesh/mesh_communication.C: In member function > > `void MeshCommunication::broadcast_bcs(MeshBase&, > > BoundaryInfo&) const': > > src/mesh/mesh_communication.C:348: error: > > `MPI_UNSIGNED_SHORT' undeclared (first use this > > function) > > > > It seems that HAVE_MPI is defined ... > > As I can see, the mpi settings are inherited from > > petsc, where mpi is disabled! > > The issue, as far as I understand it, is that if you > have no MPI, then PETSc provides a uniprocessor MPI > which > provides a subset of the normal MPI functionality. > However, in the past this uniprocessor MPI didn't > work > well with libmesh. I'm not sure if the version of > petsc > you are using still provides such a uniprocessor > MPI. > > The other possibility is that our configure scripts > are > broken, and --with-mpi=0 doesn't work. Have you > tried > > ./configure --disable-mpi > > ? As far as I know, this will not make a difference > anyway, since > libmesh will inherit its MPI settings from Petsc > anyway. Is there > some reason you do not want to install MPI? I think > Petsc-2.3.0 > will even download and install it for you during its > own installation > process! > > > > Any hint? > > BTW, at each file compile I have the following > > warning: > > src/mesh/matlab_io.C:1: warning: -fPIC ignored > for > > target (all code is position independent) > > I think that should be a harmless warning. > > -John > |