On Thu, 2008-01-31 at 11:36 +0530, Kumar Appaiah wrote:
> # Bcc'ing control
> severity 195509 important
> tags 195509 + patch
> thanks
> 
> On Thu, Jan 31, 2008 at 09:25:30AM +0530, Kumar Appaiah wrote:
> > @@ -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-4.3 -shared -Wl,-h,$libbase.$slsuffix -o 
> > ../shared/$libbase.$slsuffix *.o $OtherLibs ; then
> >         echo Successfully linked $libname
> >     else
> >         echo "Linking $libname shared lib failed " 
> > 
> > This is certainly not good, but seems to work. Maybe you can refine
> > it. This is also the reason why you see the getarg errors interspersed
> > in the build logs.
> > 
> > Now, the failure is this:
> 
> [snip]
> 
> > I have no idea on how to handle this. My observation is that the lines
> > in question are related to some "f2c" and "c2f". For example, the
> > lines in question in mpi.h are:
> 
> [snip more]
> 
> 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 have attached a patch and a successful build log. I hope this is
> useful to you to base your changes on. Please note that my fixes are
> far from elegant, but I didn't have (or try spending) the time to make
> them neat...

Terrific!  Thanks for the hard work!  I'll neaten them up myself, that's
the easy part.

> And, I have raised the severity of the bug to important since this is
> part of the gfortran transition. (But if you thought it's just because
> I want more brownie points for producing a patch for an important bug,
> well I won't deny it! :-)

Actually, given how many years this bug has been open, and that it's
holding up a major transition, and several people have bugged me about
it, I'd say "important" is a fair characterization. :-)

-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