[mpich2-dev] Announcing the availability of MPICH2-1.0.7rc2
Anthony Chan
chan at mcs.anl.gov
Thu Mar 27 15:35:39 CDT 2008
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
>
>
>
More information about the mpich2-dev
mailing list