[mpich2-dev] Announcing the availability of MPICH2-1.0.7rc2
Pavan Balaji
balaji at mcs.anl.gov
Thu Mar 27 16:11:11 CDT 2008
Anthony means dcmfd below, not dcmf. We are still catching up on the new
names :-).
-- Pavan
On 03/27/2008 03:45 PM, Anthony Chan wrote:
>
> If you are building dcmf, does the configure.in there calls
> PAC_SUBCONFIG_INIT and PAC_SUBCONFIG_FINALIZE ? Check
> mpid/ch3/configure.in for example. This may not be related
> to the fortran problem that you are seeing, but for consistency reason,
> you may want to look into this as well.
>
> A.Chan
>
> On Thu, 27 Mar 2008, Anthony Chan wrote:
>
>>
>> Hi Joseph,
>>
>> I can't reproduce your problem. Either I don't completely understand what
>> the problem is or I am not building dcmf and doing "make testing"...
>> Anyway, could explain what exact problem you are seeing and how
>> I can reproduce it ?
>>
>> Send me your <mpich2-build-dir>/config.log and
>> <mpich2-build-dir>/test/mpi/config.log as well.
>>
>> A.Chan
>>
>> On Wed, 26 Mar 2008, Joseph Ratterman wrote:
>>
>>> Now I'm seeing the problem again. The first merge was only with our old
>>> code version that we provided to you so that you could include the dcmfd
>>> device in the code. My current problems are in the codebase from the
>>> merge with our lastest dirver information. These are my flags (pulled
>>> from config.log, so I'm sure they are correct):
>>> 'FFLAGS=-I/bgusr/jratt/del/bgp/work/comm/sys/include -fno-underscoring'
>>> 'MPICH2LIB_FFLAGS=-g -Wall -O3 -mcpu=450fp2 -mstrict-align
>>> -fno-strict-aliasing -fno-underscoring'
>>>
>>> These are what I consider to be the interesting bits of
>>> mpich2/tests/mpi/configure:
>>> 1615 # If it is building with MPICH2, set xFLAGS to null, as mpiXX
>>> contains xFLAGS.
>>> 1616 if test "$FROM_MPICH2" = "yes" ; then
>>> 1617 CFLAGS=""
>>> 1618 CXXFLAGS=""
>>> 1619 FFLAGS=""
>>> 1620 F90FLAGS=""
>>> 1621 fi
>>>
>>> 5746 # Check for strange behavior of Fortran. For example, some
>>> FreeBSD
>>> 5747 # systems use f2c to implement f77, and the version of f2c
>>> that
>>> they
>>> 5748 # use generates TWO (!!!) trailing underscores
>>> 5749 # Currently, WDEF is not used but could be...
>>> 5750 #
>>> 5751 # Eventually, we want to be able to override the choices here
>>> and
>>> 5752 # force a particular form. This is particularly useful in
>>> systems
>>> 5753 # where a Fortran compiler option is used to force a
>>> particular
>>> 5754 # external name format (rs6000 xlf, for example).
>>> 5755 rm -f conftest*
>>> 5756 cat > conftest.f <<EOF
>>> 5757 subroutine MY_name( i )
>>> 5758 return
>>> 5759 end
>>> 5760 EOF
>>> 5761 # This is the ac_compile line used if LANG_FORTRAN77 is
>>> selected
>>> 5762 if test "X$ac_fcompile" = "X" ; then
>>> 5763 ac_fcompile='${F77-f77} -c $FFLAGS conftest.f 1>&5'
>>> 5764 fi
>>> 5765 if { (eval echo "$as_me:$LINENO: \"$ac_fcompile\"") >&5
>>> 5766 (eval $ac_fcompile) 2>&5
>>> 5767 ac_status=$?
>>> 5768 echo "$as_me:$LINENO: \$? = $ac_status" >&5
>>> 5769 (exit $ac_status); } && test -s conftest.o ; then
>>> 5770 mv conftest.o fconftestf.o
>>> 5771 else
>>> 5772 echo "configure: failed program was:" >&5
>>> 5773 cat conftest.f >&5
>>> 5774 fi
>>>
>>> Based on lines 1619 and 5763, I don't see how (unless $FROM_MPICH2 isn't
>>> set) the compile could be done correctly. In fact, that is the case.
>>> When
>>> I use the info at the tops of tests/mpi/config.log to manually run
>>> configure, it works fine. When I add "FROM_MPICH2=yes ..." to the
>>> start,
>>> it no longer works.
>>> I added a call to "env" to the generated configure script, so I know
>>> that
>>> FROM_MPICH2 is set. mpich2/tests/mpi/configure* doesn't have a single
>>> reference to MPICH2LIB_FFLAGS.
>>>
>>> What am I missing?
>>>
>>>
>>> Thanks in advance,
>>> Joe Ratterman
>>>
>>>
>>>
>>>
>>>
>>>
>>> Joseph Ratterman/Rochester/IBM at IBMUS
>>> Sent by: owner-mpich2-dev at mcs.anl.gov
>>> 03/25/08 10:44 AM
>>> Please respond to
>>> mpich2-dev at mcs.anl.gov
>>>
>>>
>>> To
>>> mpich2-dev at mcs.anl.gov
>>> cc
>>>
>>> Subject
>>> Re: [mpich2-dev] Announcing the availability of MPICH2-1.0.7rc2
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> I changed all "?FLAGS=" to "MPICH2LIB_?FLAGS=", and "MPI_?FLAGS=" to
>>> "?FLAGS=". Now the configure commands look like this. They both have
>>> "-fno-underscoring", so they both get the same right answer.
>>> build/mpich2/dcmf/config.log:273:configure:6471: checking for Fortran 77
>>> name mangling
>>> build/mpich2/dcmf/config.log-274-configure:6496:
>>> /bgsys/drivers/DRV120_2008-080320P/ppc/gnu-linux/bin/powerpc-bgp-linux-gfortran
>>>
>>> -c -Wall -fno-underscoring -g -Wall -O3 -mcpu=450fp2 -mstrict-align
>>> -fno-strict-aliasing -fno-underscoring conftest.f 1>&5
>>> build/mpich2/dcmf/test/mpi/config.log:473:configure:5734: checking for
>>> Fortran 77 name mangling
>>> build/mpich2/dcmf/test/mpi/config.log-474-configure:5759:
>>> /bgsys/drivers/DRV120_2008-080320P/ppc/gnu-linux/bin/powerpc-bgp-linux-gfortran
>>>
>>> -c -Wall -fno-underscoring conftest.f 1>&5
>>>
>>> It also appears to be adding the correct flags to the compiler scripts.
>>>
>>>
>>> Thanks for your help!
>>> Joe Ratterman
>>>
>>>
>>>
>>>
>>> Pavan Balaji <balaji at mcs.anl.gov>
>>> Sent by: owner-mpich2-dev at mcs.anl.gov
>>> 03/24/08 09:58 PM
>>>
>>> Please respond to
>>> mpich2-dev at mcs.anl.gov
>>>
>>>
>>> To
>>> mpich2-dev at mcs.anl.gov
>>> cc
>>>
>>> Subject
>>> Re: [mpich2-dev] Announcing the availability of MPICH2-1.0.7rc2
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>> Joe,
>>>
>>> The flags definitions have changed a bit since 1.0.7rc1. The previous
>>> usage of the flags were causing duplication of flags for the MPICH2 test
>>> suite. If you want to just compile MPICH2 with some flags, and not have
>>> them reflect in mpif77, etc., you should set MPICH2LIB_FFLAGS to these
>>> flags. Here's the usage:
>>>
>>> FFLAGS --> used to compile MPICH2 and gets appended to mpif77
>>> MPICH2LIB_FFLAGS --> only used to compile MPICH2
>>>
>>> MPI_FFLAGS, etc., are deprecated.
>>>
>>> -- Pavan
>>>
>>> On 03/24/2008 08:26 PM, Joseph Ratterman wrote:
>>>>
>>>> We downloaded the RC2 release and merged it into our code base. When
>>>> building the tests, we found that the Fortran underscoring in the main
>>>> MPICH2 code did not match the settings in the tests directory. This
>>>> caused the build to fail.
>>>> We set our FFLAGS with these options:
>>>> FFLAGS='-g -Wall -O3 -mcpu=450fp2 -mstrict-align -fno-strict-aliasing
>>>> -fno-underscoring'
>>>> MPI_FFLAGS='-Wall -fno-underscoring'
>>>>
>>>> The detailed analysis is below, but the problem was in the
>>>> mpich2/test/mpi/configure.in file, which blanked the FFLAGS variable
>>>> out. This doesn't make sense for us, since we want to have *fewer*
>>>> flags in the generated mpif77 scripts than are used to compile the
>>>> objects. The test-compile in configure is done with the raw gfortran
>>>> program, so it needs the flags to get the expected answer. Later, the
>>>> tests directory is built with the mpif77 script that does include the
>>>> "-fno-underscoring" option and the Fortran object files have fewer
>>>> underscores than the c objects. Therefore, the Fortran tests that
>>>> mixed
>>>
>>>> c and Fortran language objects failed to match up correctly.
>>>>
>>>> What was the reason for this change--is it needed on some system?
>>>> Other
>>>
>>>> than our solution of removing the new lines from the configure file, do
>>>> you have a "correct" way for us to solve the build error?
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Looking at the config.log files from the two directories, it seems that
>>>> the FFLAGS variable is missing in the tests dir.
>>>>
>>>> ./build/mpich2/dcmf/config.log:257:configure:6471: checking for Fortran
>>>> 77 name mangling
>>>> ./build/mpich2/dcmf/config.log-258-configure:6496:
>>>>
>>> /bgsys/drivers/DRV120_2008-080320P/ppc/gnu-linux/bin/powerpc-bgp-linux-gfortran
>>>
>>>
>>>> -c -g -Wall -O3 -mcpu=450fp2 -mstrict-align -fno-strict-aliasing
>>>> -fno-underscoring conftest.f 1>&5
>>>>
>>>> ./build/mpich2/dcmf/test/mpi/config.log:452:configure:5740: checking
>>>> for
>>>
>>>> Fortran 77 name mangling
>>>> ./build/mpich2/dcmf/test/mpi/config.log-453-configure:5765:
>>>>
>>> /bgsys/drivers/DRV120_2008-080320P/ppc/gnu-linux/bin/powerpc-bgp-linux-gfortran
>>>
>>>
>>>> -c conftest.f 1>&5
>>>>
>>>>
>>>> After looking through the changes, This appears to be the problem.
>>>> After removing the added lines, the test is run correctly and gets the
>>>> expected result.
>>>>
>>>> diff --git a/lib/mpi/mpich2/test/mpi/configure.in
>>>> b/lib/mpi/mpich2/test/mpi/configure.in
>>>> index 9f57971..9542183 100644
>>>> --- a/lib/mpi/mpich2/test/mpi/configure.in
>>>> +++ b/lib/mpi/mpich2/test/mpi/configure.in
>>>> @@ -123,6 +123,14 @@ if test "$enable_threads" = "multiple" ; then
>>>> threadsdir="threads"
>>>> fi
>>>>
>>>> +# If it is building with MPICH2, set xFLAGS to null, as mpiXX contains
>>>> xFLAGS.
>>>> +if test "$FROM_MPICH2" = "yes" ; then
>>>> + CFLAGS=""
>>>> + CXXFLAGS=""
>>>> + FFLAGS=""
>>>> + F90FLAGS=""
>>>> +fi
>>>> +
>>>> PAC_LOAD_BASE_CACHE
>>>>
>>>> PAC_VPATH_CHECK()
>>>>
>>>>
>>>>
>>>>
>>>> This is the code that generates the test compile commands shown at the
>>> top:
>>>> AC_DEFUN(PAC_PROG_F77_NAME_MANGLE,[
>>>> AC_CACHE_CHECK([for Fortran 77 name mangling],
>>>> pac_cv_prog_f77_name_mangle,
>>>> [
>>>> # Check for strange behavior of Fortran. For example, some FreeBSD
>>>> # systems use f2c to implement f77, and the version of f2c that they
>>>> # use generates TWO (!!!) trailing underscores
>>>> # Currently, WDEF is not used but could be...
>>>> #
>>>> # Eventually, we want to be able to override the choices here and
>>>> # force a particular form. This is particularly useful in systems
>>>> # where a Fortran compiler option is used to force a particular
>>>> # external name format (rs6000 xlf, for example).
>>>> rm -f conftest*
>>>> cat > conftest.f <<EOF
>>>> subroutine MY_name( i )
>>>> return
>>>> end
>>>> EOF
>>>> # This is the ac_compile line used if LANG_FORTRAN77 is selected
>>>> if test "X$ac_fcompile" = "X" ; then
>>>> ac_fcompile='${F77-f77} -c $FFLAGS conftest.f 1>&AC_FD_CC'
>>>> fi
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> *Pavan Balaji <balaji at mcs.anl.gov>*
>>>> Sent by: owner-mpich2-dev at mcs.anl.gov
>>>>
>>>> 03/21/08 07:32 PM
>>>> Please respond to
>>>> mpich2-dev at mcs.anl.gov
>>>>
>>>>
>>>>
>>>> To
>>>> mpich2-dev at mcs.anl.gov, mpich-discuss at mcs.anl.gov,
>>>> mvapich-core at cse.ohio-state.edu, Edric.Ellis at mathworks.co.uk,
>>>> mpich-ms at mcs.anl.gov, dcmf at lists.anl-external.org, knaak at cray.com,
>>>> seppo at totalviewtech.com, yann.kalemkarian at bull.net, Satish Balay
>>>> <balay at mcs.anl.gov>, Dinesh Kaushik <kaushik at mcs.anl.gov>,
>>>> mpi-users at mcs.anl.gov
>>>> cc
>>>> mpich2-core at mcs.anl.gov
>>>> Subject
>>>> [mpich2-dev] Announcing the availability of
>>> MPICH2-1.0.7rc2
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Hi all,
>>>>
>>>> The second release candidate for the next release of MPICH2 (1.0.7) is
>>>> available from
>>>>
>>> http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/mpich2-1.0.7rc2.tar.gz
>>>
>>> .
>>>>
>>>> Please try it out and let us know if you encounter any problems. The
>>>> major changes since 1.0.6p1 are highlighted below.
>>>>
>>>> (Windows binaries are available from
>>>>
>>> http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/mpich2-1.0.7rc2-win32-ia32.msi
>>>
>>>
>>>>
>>>> and
>>>>
>>> http://www.mcs.anl.gov/research/projects/mpich2/downloads/tarballs/mpich2-1.0.7rc2-win64-x86-64.msi
>>>
>>> )
>>>>
>>>> Regards,
>>>> The MPICH2 Team
>>>>
>>>> ---------------------------------------------------------------------
>>>> Main changes in 1.0.7
>>>> =====================
>>>>
>>>> # OVERALL: Initial ROMIO device for BlueGene/P (the ADI device is also
>>>> added but is not configurable at this time).
>>>>
>>>> # OVERALL: Major clean up for the propagation of user-defined and
>>>> other MPICH2 flags throughout the code.
>>>>
>>>> # OVERALL: Support for STI Cell Broadband Engine.
>>>>
>>>> # OVERALL: Added datatype free hooks to be used by devices
>>> independently.
>>>>
>>>> # OVERALL: Added device-specific timer support.
>>>>
>>>> # OVERALL: make uninstall works cleanly now.
>>>>
>>>> # ROMIO: Support to take hints from a config file
>>>>
>>>> # ROMIO: more tests and bug fixes for nonblocking I/O
>>>>
>>>> # PM/PMI: Added support to use PMI Clique functionality for process
>>>> managers that support it.
>>>>
>>>> # PM/PMI: Added SLURM support to configure to make it transparent to
>>>> users.
>>>>
>>>> # PM/PMI: SMPD Singleton Init support.
>>>>
>>>> # WINDOWS: Fortran 90 support added.
>>>>
>>>> # SCTP: Added MPICH_SCTP_NAGLE_ON support.
>>>>
>>>> # MPE: Updated MPE logging API so that it is thread-safe (through
>>>> global mutex).
>>>>
>>>> # MPE: Added infrastructure to piggyback argument data to MPI states.
>>>>
>>>> # DOCS: Documentation creation now works correctly for VPATH builds.
>>>>
>>>> # Many other bug fixes, memory leak fixes and code cleanup. A full
>>>> list of changes is available using:
>>>> svn log -r100:HEAD
>>>> https://svn.mcs.anl.gov/repos/mpi/mpich2/branches/release/MPICH2_1_0_7
>>>> -------------------------------------------------------------------
>>>>
>>>> --
>>>> Pavan Balaji
>>>> http://www.mcs.anl.gov/~balaji
>>>>
>>>>
>>>
>>> --
>>> Pavan Balaji
>>> http://www.mcs.anl.gov/~balaji
>>>
>>>
>>>
>>
>
--
Pavan Balaji
http://www.mcs.anl.gov/~balaji
More information about the mpich2-dev
mailing list