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]