From: Leopold P. A. <le...@wo...> - 2003-11-20 09:37:53
|
Hi, yesterday I send/receive some mail with the debian packager of libpetsc. Here is the mail. Please, look it. Best regards. Leo Pd ---------- Missatge transmès ---------- Subject: Re: Maybe a bug in libpetsc-2.1.6 Date: Dimecres 19 Novembre 2003 20:28 From: Adam C Powell IV <haz...@de...> To: Leopold Palomo Avellaneda <le...@wo...> Hello, Two things: 1. You can get woody petsc 2.1.6 (adjusted so it builds with the older mpich) by adding the following line to /etc/apt/sources.list deb http://lyre.mit.edu/~powell/debian woody math 2. Either way, MPI_LIB is not meant to have all of the mpich link flags. If you scroll further down in bmake/linux*/packages, you'll see "Location of MPE" with the MPE flags which are necessary for linking. In general, if you want to link something against PETSc, you should *not* be using variables like MPI_LIB, but variables like PETSC_MAT_LIB, PETSC_TS_LIB, etc., which include PETSC_EXTERNAL_LIB_BASIC, which in turn includes MPI, MPE if present, X11, BLAS and LAPACK, etc. If you install petsc2.1.6-doc, and unpack the src.tar.gz file with all the examples, you'll see that this is how those makefiles do things. [I've also put together a petsc.m4 which defines these things, but only if you use autoconf/automake.] If libmesh is trying to directly use MPI_LIB, then that's a bug in libmesh, due to a misunderstanding of how to link against the PETSc libraries. Also, the README.Debian in the -dev package gives the address of the "package homepage" http://lyre.mit.edu/~powell/debian.html , which among other things has a link to my aptable archive with the woody backport of PETSc 2.1.6 (mentioned above). On Wed, 2003-11-19 at 06:00, Leopold Palomo Avellaneda wrote: > Dear Adam C. Powell, > > I have a question of the petsc package (version 2.1.6, from sid) and I > don't know if is a bug in the debian package or not. > > I'm trying to use a library (libmesh) that need mpi and petsc. There's no > debian package, so I tried to compile myself. > > I had some errors with the petsc2.1.3 version so I decided to use > petsc2.1.6. I realised, because of the control file, that to backported > petsc2.1.6 I needed to backport mpich package. So I did it first. You know, > sources, fakeroot debian/rules binary. Ok, no problems, a have a debs thathttp://lyre.mit.edu/~powell/debian > works Ok. > > I installed the mpich package, the backported 1.2.5 version. > > After I compiled the petsc package, and I obtain my need debs files of > petsc2.16 and I installed it. > > When I tried to compiled the library libmesh I had this errors at link: > [verbose errors snipped] > In the libmesh list, we have realised that the pets-bmake have this values: > [....] > # For mpich: > ifeq ($(PETSC_MPI),mpich) > MPI_HOME = /usr/lib/mpich > MPI_LIB = -L${MPI_HOME}/lib/shared -L${MPI_HOME}/lib -lmpich > MPIRUN = /usr/bin/mpirun.mpich > MPI_INCLUDE = -I/usr/lib/mpich/include > endif > [....] > but, if I change this line > - MPI_LIB = -L${MPI_HOME}/lib/shared -L${MPI_HOME}/lib -lmpich > + MPI_LIB = -L${MPI_HOME}/lib/shared -L${MPI_HOME}/lib -lmpich > -lmpe > > now the error dissapears and all is ok. So I deduce that if petsc2.1.6 > depends of mpi version 1.2.5, and that version had the mpe library, so > maybe, if you want to link to a petsc library, you need to add -lmpe to > your programs. That's all. > > Is this a bug in the debian package? I don't know. > > Please tell me something, I will comment to the libmesh. Great, thanks for looking into this. It's still possible there's a bug in my package, but I suspect the problem is in libmesh. Let me know if you need any further assistance. -- -Adam P. GPG fingerprint: D54D 1AEE B11C CE9B A02B C5DD 526F 01E8 564E E4B6 Welcome to the best software in the world today cafe! http://lyre.mit.edu/~powell/The_Best_Stuff_In_The_World_Today_Cafe.ogg ------------------------------------------------------- |