On Sat, 2008-02-02 at 09:20 +0530, Kumar Appaiah wrote:
> On 02/02/2008, Adam C Powell IV wrote:
> > On Thu, 2008-01-31 at 07:40 -0500, Adam C Powell IV wrote:
> > > On Thu, 2008-01-31 at 11:36 +0530, Kumar Appaiah wrote:
> > > > Further diagnosis showed that these are the error causing lines, along
> > > > with the fixes:
> > > >
> > > > diff -u mpich-1.2.7/src/fortran/configure 
> > > > mpich-1.2.7/src/fortran/configure
> > > > --- mpich-1.2.7/src/fortran/configure
> > > > +++ mpich-1.2.7/src/fortran/configure
> > > > @@ -15820,11 +15820,11 @@
> > > >         # turn off f90
> > > >         F90=""
> > > >     else
> > > > -       F90_MODINCFLAG="`$MAKE -f ../../f90modules/Makefile f90modflag`"
> > > > -       F90MODINCSPEC="`$MAKE -f ../../f90modules/Makefile f90modspec`"
> > > > +       F90_MODINCFLAG="`$MAKE -s -f ../../f90modules/Makefile 
> > > > f90modflag`"
> > > > +       F90MODINCSPEC="`$MAKE -s -f ../../f90modules/Makefile 
> > > > f90modspec`"
> > > >              if test -z "$USER_SET_F90INC" -a -z "$F90INC" ; then
> > > >             # This should use a test or try to get it from the 
> > > > f90module.
> > > > -           F90INC=`$MAKE -f ../../f90modules/Makefile f90incflag`
> > > > +           F90INC=`$MAKE -s -f ../../f90modules/Makefile f90incflag`
> > > >              fi
> > > >          fi
> > > >      fi
> > > >
> > > > For some reason, make was printing "make[1]: entering directory..."
> > > > (and confusing the build). And this resulted in a bad config.status,
> > > > with sed errors (and commands like sed s,make[1] ...),  which produced
> > > > an empty mpe_fortdefs.h, which didn't result in defines for the
> > > > relevant MPI_* stuff.
> >
> > I'm not getting something here.  In my build, and I see in yours as
> > well, there's this:
> >
> > make --no-print-directory mpi-addons
> > Making a shared library of libmpich.a
> > farg.o: In function `mpir_iargc_':
> > farg.f:(.text+0x9): undefined reference to `_gfortran_iargc'
> > farg.o: In function `mpir_getarg_':
> > farg.f:(.text+0x39): undefined reference to `_gfortran_getarg_i4'
> > collect2: ld returned 1 exit status
> > Successfully linked libmpich.a
> > Making a shared library of libpmpich.a
> > farg.o: In function `mpir_iargc_':
> > farg.f:(.text+0x9): undefined reference to `_gfortran_iargc'
> > farg.o: In function `mpir_getarg_':
> > farg.f:(.text+0x39): undefined reference to `_gfortran_getarg_i4'
> > collect2: ld returned 1 exit status
> > Successfully linked libpmpich.a
> > Making a shared library of libfmpich.a
> > farg.o: In function `mpir_iargc_':
> > farg.f:(.text+0x9): undefined reference to `_gfortran_iargc'
> > farg.o: In function `mpir_getarg_':
> > farg.f:(.text+0x39): undefined reference to `_gfortran_getarg_i4'
> > collect2: ld returned 1 exit status
> > Successfully linked libfmpich.a
> > Making a shared library of libpmpich++.a
> > Successfully linked libpmpich++.a
> > Testing that MPI applications can be linked with shared libs...
> 
> This is due to the following patch I introduced:
> 
> @@ -170,7 +170,10 @@
>          libbase=`basename $libname .a`
>     # The -h name sets the name of the object; this is necessary to
>     # ensure that the dynamic linker can find the proper shared library.
> -        if $CLINKER -shared -Wl,-h,$libbase.$slsuffix -o
> ../shared/$libbase.$slsuffix *.o $OtherLibs ; then
> +        export F77_GETARGDECL="intrinsic GETARG"
> +   if $CLINKER -shared -Wl,-h,$libbase.$slsuffix -o
> ../shared/$libbase.$slsuffix *.o $OtherLibs ; then
> +       echo Successfully linked $libname
> +   elif gfortran -shared -Wl,-h,$libbase.$slsuffix -o
> ../shared/$libbase.$slsuffix *.o $OtherLibs ; then
>         echo Successfully linked $libname
>     else
>         echo "Linking $libname shared lib failed "
> 
> Note that $CLINKER will fail to resolve the getarg calls. However, the
> elif case retries with gfortran, and thus, ends up linking fine. The
> ideal solution would be for you to use $CLINKER for those stuff which
> don't need GETARG, and gfortran for linking the stuff which uses
> GETARG.

Ah yes, forgot about that.  Thanks for the clarification.  I'll go ahead
and upload.  It would be nice if it didn't print the error messages...
Maybe for -7 I'll have it print a success message if gfortran works.

[snip]

> > I've neatened up the patches, and am putting everything at
> > http://lyre.mit.edu/~powell/mpich/ with a bunch of new mpif90 support
> > stuff.  If you're sure it's right, I'll upload it.  But it will have to
> > get through the new queue because of the ldbl->gf name change.
> 
> I guess things should be fine, though you might want others with
> rdepends to check. To allay fears of breakage, experimental might be
> OK?

Because mpicc and friends seem to work, I think I'll try unstable and if
it causes problems I'll deal with those later.

> > [BTW, are you on debian-beowulf and/or debian-science?  If so, I won't
> > CC you in my announcement to those lists of the mpich transition.]
> 
> No, I am not (yet). Please do CC me, though I'll be a mere observer.

Okay, will do.

Thanks again,
-Adam
-- 
GPG fingerprint: D54D 1AEE B11C CE9B A02B  C5DD 526F 01E8 564E E4B6

Engineering consulting with open source tools
http://www.opennovation.com/




-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to