4 Replies Latest reply on Sep 6, 2012 5:27 PM by yurtesen

    Error compiling mpich2  1.3.1

    rumekintun
      mpich2 1.3.1

      Dear all,

       I'm trying to compile mpich2  1.3.1, but I'm getting an error with mpi.f90.

      my CPU ifo:

       model name      : AMD Opteron(tm) Processor 6174

       flags           : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36

         clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm 3dnowext

      3dnow constant_tsc rep_good nonstop_tsc extd_apicid amd_dcm pni monitor cx16

      popcnt lahf_lm cmp_legacy svm extapic cr8_legacy abm sse4a misalignsse

      3dnowprefetch osvw ibs skinit wdt nodeid_msr npt lbrv svm_lock nrip_save

       

      my definitions :

      setenv MPICH2LIB_CFLAGS    -O2
      setenv MPICH2LIB_FFLAGS    -O2
      setenv MPICH2LIB_CXXFLAGS  -O2
      setenv MPICH2LIB_F90FLAGS  -O2
      setenv CPUFLAG "-msse3"
      setenv OPTIM   "$CPUFLAG -O2"
      setenv PREFX   /usr/local/mpich2 
      setenv PATH     $PREFX/bin:$PATH
      setenv LD_LIBRARY_PATH  $PREFX/lib:$LD_LIBRARY_PATH
      setenv F77       openf90
      setenv CXX      openCC
      setenv CC        opencc
      setenv FC         openf90
      setenv CPP      'opencc -E'
      setenv CXXCPP   'openCC -E'
      setenv CFLAGS   "$OPTIM -fPIC"
      setenv CXXFLAGS "$OPTIM"
      setenv FFLAGS   "$OPTIM"
      setenv FCFLAGS  "$OPTIM"
      setenv F77FLAGS "$OPTIM"
      #setenv F90FLAGS "$OPTIM"
      setenv CPPFLAGS "-I$PREFX/include"
      setenv CPPFLAGS2 "-I$PREFX/include"
      setenv LDFLAGS  "$OPTIM -L$PREFX/lib"
      setenv LDFLAGS2 "$OPTIM -L$PREFX/lib"
      ./configure --prefix=${PREFX}/mpich2 --enable-f77 --enable-fc

        --enable-cxx --enable-shared --enable-fast --with-pm=mpd:gforker

        --with-device=ch3:nemesis --with-java=/usr/local/java

      The message error is:

       make[4]: Entering directory `/home2/ach/soft/wrfipkd/mpich2-1.3.1/src/binding/f90'
        FC              mpi.f90
      make[4]: *** [mpi.lo] Error 1
      make[4]: Leaving directory `/home2/ach/soft/wrfipkd/mpich2-1.3.1/src/binding/f90'
      make[3]: *** [all-redirect] Error 1
      make[3]: Leaving directory `/home2/ach/soft/wrfipkd/mpich2-1.3.1/src/binding/f90'
      make[2]: *** [all-redirect] Error 1
      make[2]: Leaving directory `/home2/ach/soft/wrfipkd/mpich2-1.3.1/src/binding'
      make[1]: *** [all-redirect] Error 2
      make[1]: Leaving directory `/home2/ach/soft/wrfipkd/mpich2-1.3.1/src'
      make: *** [all-redirect] Error 2

       

      any idea ?

        • Error compiling mpich2  1.3.1
          rumekintun

          open64 version:

          $ opencc -version
          Open64 Compiler Suite: Version 4.2.4
          Built on: 2010-06-28 16:07:57 -0700
          Thread model: posix
          GNU gcc version 4.2.0 (Open64 4.2.4 driver)

          $ openf90 -version
          Open64 Compiler Suite: Version 4.2.4
          Built on: 2010-06-28 16:07:57 -0700
          Thread model: posix
          GNU gcc version 4.2.0 (Open64 4.2.4 driver)

          openCC -version
          Open64 Compiler Suite: Version 4.2.4
          Built on: 2010-06-28 16:07:57 -0700
          Thread model: posix
          GNU gcc version 4.2.0 (Open64 4.2.4 driver)

            • Error compiling mpich2  1.3.1
              RaghavendraSwamy

              Thank you for reaching the support desk. Currently the usage of "--enable-shared" flag ( at the configure stage ) which is meant for creating shared objects is creating the conflict with the archiver tool which is meant for creating the static objects there by making it to break. The quick work around would be to drop the flag --enable-shared and build the MPICH2 binary objects. The root cause is under investigation and will get back to shortly.


              Regards,
              AMD x86 open64 compiler support engineer.

              -------------------------
              The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. Links to third party sites are for convenience only, and no endorsement is implied.

                • Error compiling mpich2  1.3.1
                  RaghavendraSwamy

                  The root cause of the issue has been isolated. To fix the issue, add the following lines in the "configure" file located under the folder
                  ~/mpich2-1.3.1/ at the line numbers


                  13389     elif test "$FC" = "openf90" ; then
                  13390         pac_cv_fc_vendor=open64
                  13391     elif test "$FC" = "openf95" ; then
                  13392         pac_cv_fc_vendor=open64

                   

                  13449                 open64)
                  13450                 # Portland Group implements the GNU options
                  13451                 FC_SHL="$FC -shared -fPIC"
                  13452                 if test "$enable_rpath" = yes ; then
                  13453                     FC_LINKPATH_SHL="-Wl,-rpath -Wl,"
                  13454                 fi
                  13455                 ;;
                  13456

                  Then continue with the build process using following commands,

                  export CC=opencc;export  CXX=openCC;export FC=openf90;export F77=openf90;export F90=

                  ./configure --prefix=$PWD/install-12 --enable-f77 --enable-fc  --enable-cxx --enable-shared --enable-fast --with-pm=mpd:gforker --with-device=ch3:nemesis --with-java=/usr/local/java

                  make

                  make install

                  This should resolve the issue and the mpich2 shared objects can be found under the path $PWD/install-12/lib

                  Regards,
                  AMD x86 open64 compiler support engineer.


                  -------------------------
                  The information presented in this document is for informational purposes only and may contain technical inaccuracies, omissions and typographical errors. Links to third party sites are for convenience only, and no endorsement is implied.