[mvapich-discuss] cannot build vers.2.3.3

Subramoni, Hari subramoni.1 at osu.edu
Wed Jun 3 13:10:33 EDT 2020


Hi, Per.

Can you please apply this patch, do autogen and try to do the out of tree build again? Things should work with this patch,

diff --git a/src/mpi/romio/configure.ac b/src/mpi/romio/configure.ac
index 707ace6..edac2d3 100644
--- a/src/mpi/romio/configure.ac
+++ b/src/mpi/romio/configure.ac
@@ -3,6 +3,7 @@
# autoconf --localdir=../confdb configure.ac
# (or wherever the confdb is)
#
+AC_MSG_ERROR([Hari: Exiting])
AC_PREREQ([2.63])

m4_include([version.m4])
diff --git a/src/mpid/ch3/channels/Makefile.mk b/src/mpid/ch3/channels/Makefile.mk
index 35bb9e3..c4f1d51 100644
--- a/src/mpid/ch3/channels/Makefile.mk
+++ b/src/mpid/ch3/channels/Makefile.mk
@@ -20,3 +20,8 @@ include $(top_srcdir)/src/mpid/ch3/channels/sock/Makefile.mk
include $(top_srcdir)/src/mpid/ch3/channels/mrail/Makefile.mk
include $(top_srcdir)/src/mpid/ch3/channels/psm/Makefile.mk
include $(top_srcdir)/src/mpid/ch3/channels/common/Makefile.mk
+
+if BUILD_ROMIO
+AM_CPPFLAGS += -I$(top_builddir)/src/mpi/romio/adio/include   \
+           -I$(top_srcdir)/src/mpi/romio/adio/include
+endif

Thx,
Hari.

From: Subramoni, Hari <subramoni.1 at osu.edu>
Sent: Wednesday, June 3, 2020 8:22 AM
To: Per Berg <peb at fcoo.dk>; mvapich-discuss at cse.ohio-state.edu <mvapich-discuss at mailman.cse.ohio-state.edu>
Cc: Subramoni, Hari <subramoni.1 at osu.edu>
Subject: RE: cannot build vers.2.3.3

Hi, Per.

Good to hear that you're able to get it working.

It looks like out of tree builds for this feature are probably broken. Let me try this out.

Thx,
Hari.

From: Per Berg <peb at fcoo.dk<mailto:peb at fcoo.dk>>
Sent: Wednesday, June 3, 2020 6:32 AM
To: Subramoni, Hari <subramoni.1 at osu.edu<mailto:subramoni.1 at osu.edu>>; mvapich-discuss at cse.ohio-state.edu<mailto:mvapich-discuss at cse.ohio-state.edu> <mvapich-discuss at mailman.cse.ohio-state.edu<mailto:mvapich-discuss at mailman.cse.ohio-state.edu>>
Subject: Re: cannot build vers.2.3.3


Thanks, Hari.



> Can you tell me if you happened to remove this file by mistake at some point?

No, I didn't remove anything.



However, I think I managed to find the reason: It seems that configure+make do not work properly when I
I run from a clean build directory on the local file system separated from the src dir. That is:

# Start from a clean dir:
mkdir -p /tmp/$USER/tmp-build
cd /tmp/$USER/tmp-build
rm -fr *
<full_path_to_srcdir>/configure --prefix=<full_path_to_install_dir> CC=icc CXX=icpc F77=ifort FC=ifort
make -j4

I should then be able to re-use the src dir for different build with different combos of compilers and flags, since the src dir remains unchanged from build to build. This is usual practise for other packages, e.g. mpich recommends to create a build directory on the local file system separated from the src dir, and it also worked with previous versions of mvapich2, eg. v2.2.
But the above gives the described error with later versions of mvapich2.


On the other hand, if I do configure+make directly from the src dir, the it works great with both version 2.3.3 and 2.3.4:

cd <full_path_to_srcdir>
./configure --prefix=<full_path_to_install_dir> CC=icc CXX=icpc F77=ifort FC=ifort
make -j4

but this forces me to clean up the src dir for each build and start over again for each build. I can live with this.

regards,
Per

________________________________
From: Subramoni, Hari <subramoni.1 at osu.edu<mailto:subramoni.1 at osu.edu>>
Sent: 02 June 2020 15:19
To: Per Berg; mvapich-discuss at cse.ohio-state.edu<mailto:mvapich-discuss at cse.ohio-state.edu>
Cc: Subramoni, Hari
Subject: RE: cannot build vers.2.3.3


Hi, Per.



I suggested -disable-fortran to be used in conjunction with -disable-romio.



I am still surprised since I am able to build MVAPICH2 on several other systems without hitting this error. romioconf.h is generated by the initial autogen step. Can you tell me if you happened to remove this file by mistake at some point? If so, can you do the autogen step again?



You can use the script below to build and install the necessary version of autotools required for autogen. After installing these, please try the autogen.sh and configure step with the latest MVAPICH2 2.3.4GA tarball available from our download page.



If you invoke it as <script_file_name.sh> $PWD, it will install everything under $PWD/Tools/install-dir. You can then add $PWD/Tools/install-dir/bin to $PATH and $PWD/Tools/install-dir/lib to LD_LIBRARY_PATH and run autogen.sh



#!/bin/bash



#set -x



#Error checking

if [ ! -n "$1" ]

then

    echo "Please pass the base dir and re-run script"

    exit 1

fi



base_dir="$1/Tools"



gnum4_path="$base_dir/GNUM4"

autoconf_path="$base_dir/Autoconf"

automake_path="$base_dir/Automake"

libtool_path="$base_dir/Libtool"



install_dir="$base_dir/install-dir"



gnum4_version="m4-1.4.17"

autoconf_version="autoconf-2.69"

automake_version="automake-1.15"

libtool_version="libtool-2.4.6"



gnum4_repo="http://ftp.gnu.org/gnu/m4/$gnum4_version.tar.gz<https://urldefense.com/v3/__http:/ftp.gnu.org/gnu/m4/$gnum4_version.tar.gz__;!!KGKeukY!mUophkjCml3I8ANL4z8yMkXpiT7AylHIUK886Hqi-7xshMHczRPRfGecdsex73PiRg$>"

autoconf_repo="http://ftp.gnu.org/gnu/autoconf/$autoconf_version.tar.gz<https://urldefense.com/v3/__http:/ftp.gnu.org/gnu/autoconf/$autoconf_version.tar.gz__;!!KGKeukY!mUophkjCml3I8ANL4z8yMkXpiT7AylHIUK886Hqi-7xshMHczRPRfGecdsfd3NqJCg$>"

automake_repo="http://ftp.gnu.org/gnu/automake/$automake_version.tar.gz<https://urldefense.com/v3/__http:/ftp.gnu.org/gnu/automake/$automake_version.tar.gz__;!!KGKeukY!mUophkjCml3I8ANL4z8yMkXpiT7AylHIUK886Hqi-7xshMHczRPRfGecdsdF1MxwNA$>"

libtool_repo="https://ftp.gnu.org/gnu/libtool/$libtool_version.tar.gz<https://urldefense.com/v3/__https:/ftp.gnu.org/gnu/libtool/$libtool_version.tar.gz__;!!KGKeukY!mUophkjCml3I8ANL4z8yMkXpiT7AylHIUK886Hqi-7xshMHczRPRfGecdscyJSxgjw$>"



error_print()

{

    step=$1

    repo_name=$2

    err_code=$3

    if [ "$err_code" -ne "0" ]

    then

            echo "$step for $repo_name failed"

            cd -

            exit 1

    else

        if [ "$VERBOSE" == "1" ]

        then

                echo "$step for $repo_name succeeded"

       fi

    fi

}



install_library()

{

    repo=$1

    repo_name=$2

    local_path=$3



    cd $local_path

    wget $repo >& /dev/null

    error_print "wget" $repo_name $?



    tar -zxvf "$repo_name.tar.gz"  >& /dev/null

    error_print "un-tar" $repo_name $?



    cd $repo_name



    ./configure --prefix=$install_dir >& /dev/null

    error_print "configure" $repo_name $?



    make clean &> /dev/null

    error_print "make clean" $repo_name $?



    make &> /dev/null

    error_print "make" $repo_name $?



    make install &> /dev/null

    error_print "make install" $repo_name $?



    cd - >& /dev/null

}



mkdir -p $gnum4_path $autoconf_path $automake_path $libtool_path $install_dir



#Install GNU M4

install_library $gnum4_repo $gnum4_version $gnum4_path echo "$gnum4_version installed successfully"



#Install Autoconf

install_library $autoconf_repo $autoconf_version $autoconf_path echo "$autoconf_version installed successfully"



#Install Libtool

install_library $libtool_repo $libtool_version $libtool_path echo "$libtool_version installed successfully"



#Install Automake

install_library $automake_repo $automake_version $automake_path echo "$automake_version installed successfully"



Thx,

Hari.



From: Per Berg <peb at fcoo.dk<mailto:peb at fcoo.dk>>
Sent: Tuesday, June 2, 2020 3:13 AM
To: Subramoni, Hari <subramoni.1 at osu.edu<mailto:subramoni.1 at osu.edu>>; mvapich-discuss at cse.ohio-state.edu<mailto:mvapich-discuss at cse.ohio-state.edu> <mvapich-discuss at mailman.cse.ohio-state.edu<mailto:mvapich-discuss at mailman.cse.ohio-state.edu>>
Subject: Re: cannot build vers.2.3.3



Hi Hari,



We are running:



OS:

CentOS Linux release 7.7.1908 (Core)



kernel vers:

3.10.0-1062.18.1.el7.x86_64



compiler suite:

Intel Parallel Studio XE 2020 Cluster Edition

which includes c and fortran compilers version 19.01.0.166



I have managed to install and use intel's impi (of course) as well as latest versions of openMPI and mpich (mpich with some difficulties as the latest version requires a hack in a configure.ac file -- kindly suggested by Hui Zhou via the mpich-discuss mailing list).

We have the older MVAPICH2 version 2.2 running with older versions both ifort and gfortran. And I did try the older v.2.2 with success using the system described aboev.



I just tried mvapich v.2.3.3 with the old ifort 16.0.3, and that gave the same error during make (cannot open source file "romioconf.h").





mvapich2 configure options are straight-forward:

<full_path_to_srcdir>/configure --prefix=<full_path_to_install_dir> CC=icc CXX=icpc F77=ifort FC=ifort





I did try your suggestion, adding "--disable-fortran" to configure, but with the same error during build (cannot open source file "romioconf.h").



rgrds,

Per







________________________________

From: Subramoni, Hari <subramoni.1 at osu.edu<mailto:subramoni.1 at osu.edu>>
Sent: 31 May 2020 04:51
To: mvapich-discuss at cse.ohio-state.edu<mailto:mvapich-discuss at cse.ohio-state.edu>; Per Berg
Subject: Re: cannot build vers.2.3.3



Could you also mention the compiler version, OS version, kernel version etc that you're using?

Thx,

Hari.

Sent from Outlook Mobile<https://urldefense.com/v3/__https:/aka.ms/blhgte__;!!KGKeukY!gsneq5tf2-63vZ3fd4LCeKyXxN5k8CzpOySogLQEwOi2ihJxGMnUMg33ZGeXMiUbuA$>



________________________________

From: Subramoni, Hari <subramoni.1 at osu.edu<mailto:subramoni.1 at osu.edu>>
Sent: Saturday, May 30, 2020 10:50:54 PM
To: mvapich-discuss at cse.ohio-state.edu<mailto:mvapich-discuss at cse.ohio-state.edu> <mvapich-discuss at mailman.cse.ohio-state.edu<mailto:mvapich-discuss at mailman.cse.ohio-state.edu>>; Per Berg <peb at fcoo.dk<mailto:peb at fcoo.dk>>
Subject: Re: cannot build vers.2.3.3



Hi, Per.

Sorry to hear that you are facing issues. Could you please let us know the configuration you're using when you hit the romioconf.h not found error? We've never seen this before.

The issue you hit when you disabled romio is coming from the Fortran bindings code we inherit from MPICH. A possible quick workaround for this would be to disable fortran binding by adding --disable-fortran to the configure line. In the meantime, I can investigate on how to fix it.

Thx,

Hari.

Sent from Outlook Mobile<https://urldefense.com/v3/__https:/aka.ms/blhgte__;!!KGKeukY!gsneq5tf2-63vZ3fd4LCeKyXxN5k8CzpOySogLQEwOi2ihJxGMnUMg33ZGeXMiUbuA$>



________________________________

From: mvapich-discuss-bounces at cse.ohio-state.edu<mailto:mvapich-discuss-bounces at cse.ohio-state.edu> <mvapich-discuss-bounces at mailman.cse.ohio-state.edu<mailto:mvapich-discuss-bounces at mailman.cse.ohio-state.edu>> on behalf of Per Berg <peb at fcoo.dk<mailto:peb at fcoo.dk>>
Sent: Friday, May 29, 2020 1:40:05 AM
To: mvapich-discuss at cse.ohio-state.edu<mailto:mvapich-discuss at cse.ohio-state.edu> <mvapich-discuss at mailman.cse.ohio-state.edu<mailto:mvapich-discuss at mailman.cse.ohio-state.edu>>
Subject: [mvapich-discuss] cannot build vers.2.3.3



Hi,



I cannot build mvapich2 vers2.3.3.

Configure runs smoothly, but build fails with:



<my_path>/mvapich2-2.3.3/src/mpid/ch3/channels/mrail/src/gen2/ibv_param.c(29): catastrophic error: cannot open source file "romioconf.h"
  #include "romioconf.h"



I then try to exclude romio by adding the option

  --disable-romio

to configure. Again, the configure step runs to the end, but make now complains a lot about MPIO_Request being undefined:



In file included from <my_path>/mvapich2-2.3.3/src/binding/fortran/use_mpi_f08/wrappers_c/send_cdesc.c(10):

<my_path>/mvapich2-2.3.3/src/binding/fortran/use_mpi_f08/wrappers_c/cdesc.h(112): error: identifier "MPIO_Request" is undefined
  extern int MPIR_File_iread_at_cdesc(MPI_File x0, MPI_Offset x1, CFI_cdesc_t* x2, int x3, MPI_Datatype x4, MPIO_Request * x5);
                                                                                                            ^

and and many more of the same, also in recv_cdesc.c, bsend_cdesc.c, ssend_cdesc.c



I can build the older version 2.2 without any troubles at all using the same compiler suite.



What do I need to build the 2.3.3 version ? Probably some configure option(s), but which one(s)?



rgrds,

Per


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.cse.ohio-state.edu/pipermail/mvapich-discuss/attachments/20200603/8359ce01/attachment-0001.html>


More information about the mvapich-discuss mailing list