8 Replies Latest reply on Sep 10, 2012 7:52 AM by yurtesen

    mpich2 1.5rc1 and open64 4.5.2 problem

    yurtesen

      I downloaded mpich2 1.5rc1:

      http://www.mcs.anl.gov/research/projects/mpich2/downloads/index.php?s=downloads

       

      I have the following environment variables set:

       

      export CFLAGS="-march=barcelona -msse3 -O2 -lfortran -lffio -lm"

      export FFLAGS="-march=barcelona -msse3 -O2 -lfortran -lffio -lm"

      export FCFLAGS="-march=barcelona -msse3 -O2 -lfortran -lffio -lm"

      export CPPFLAGS="-march=barcelona -msse3 -O2 -lfortran -lffio -lm"

      export CXXFLAGS="-march=barcelona -msse3 -O2 -lfortran -lffio -lm"

      export CC=opencc

      export CXX=openCC

      export FC=openf95

      export F77=openf95

      export F95=openf95

       

      I simply run  ./configure script and then make

       

      Making all in .
      make[2]: Entering directory `/home/eyurtese/temp/mpich2-1.5rc1'
        CC       src/binding/f90/create_f90_real.lo
      src/binding/f90/create_f90_real.c: In function 'PMPI_Type_create_f90_real':
      src/binding/f90/create_f90_real.c:73: error: expected expression before ',' token
      src/binding/f90/create_f90_real.c:74: warning: braces around scalar initializer
      src/binding/f90/create_f90_real.c:74: warning: (near initialization for 'f90_real_model[0].dtype')
      src/binding/f90/create_f90_real.c:74: error: expected expression before ',' token
      src/binding/f90/create_f90_real.c:74: warning: excess elements in scalar initializer
      src/binding/f90/create_f90_real.c:74: warning: (near initialization for 'f90_real_model[0].dtype')
      make[2]: *** [src/binding/f90/create_f90_real.lo] Error 1
      make[2]: Leaving directory `/home/eyurtese/temp/mpich2-1.5rc1'
      make[1]: *** [all-recursive] Error 1
      make[1]: Leaving directory `/home/eyurtese/temp/mpich2-1.5rc1'
      make: *** [all] Error 2
      

       

       

      Can you tell what is wrong?

        • Re: mpich2 1.5rc1 and open64 4.5.2 problem
          santosh.zanjurne

          I could not reproduce this problem.  I would suggest to extract the sources once again in temporary folder and try your build there.  If you face this problem again please reply back with attached src/binding/f90/create_f90_real.c file.  Also execute make like this : make V=1 .   This will give the actual command line that produced the error.  Please give me the that too. 

           

          If want to experiment on your own you can execute this command with following change:

          From : -c -o src/binding/f90/create_f90_real.lo

          to     :  -c -E -o src/binding/f90/create_f90_real.ii

           

          Now you can search for PMPI_Type_create_f90_real in .ii file and manually check the source.

           

          The command should roughly look like this:

          opencc -DHAVE_CONFIG_H -I. -I./src/include  -I./src/include -I./src/mpi/datatype -I./src/mpi/spawn -Isrc/util/logging/common -I./src/util/wrappers -I./src/util/wrappers -I./src/binding/cxx -I/home/santosh/apps/mpich/mpich2-1.5rc1/src/binding/f77 -Isrc/binding/f90 -I./src/mpid/ch3/include -I./src/mpid/ch3/include  -I./src/mpid/ch3/channels/nemesis/include -I./src/mpid/ch3/channels/nemesis/include -I./src/mpid/ch3/channels/nemesis/utils/monitor  -I./src/mpid/common/datatype -I./src/mpid/common/datatype -I./src/mpid/common/sched   -I./src/mpid/common/thread -I/home/santosh/apps/mpich/mpich2-1.5rc1/src/mpi/comm  -I./src/pmi/simple  -march=barcelona -msse3 -O2 -lfortran -lffio -lm  -I/home/santosh/apps/mpich/mpich2-1.5rc1/src/mpl/include -I/home/santosh/apps/mpich/mpich2-1.5rc1/src/mpl/include -I/home/santosh/apps/mpich/mpich2-1.5rc1/src/openpa/src -I/home/santosh/apps/mpich/mpich2-1.5rc1/src/openpa/src -I/home/santosh/apps/mpich/mpich2-1.5rc1/src/mpi/romio/include  -march=barcelona -msse3 -O2 -lfortran -lffio -lm   -O2 -MT src/binding/f90/create_f90_real.lo -MD -MP -MF $depbase.Tpo -c -o src/binding/f90/create_f90_real.lo src/binding/f90/create_f90_real.c
          
          
            • Re: mpich2 1.5rc1 and open64 4.5.2 problem
              yurtesen
              make[2]: Entering directory `/home/eyurtese/temp/mpich2-1.5rc1'
              depbase=`echo src/binding/f90/create_f90_real.lo | sed 's|[^/]*$|.deps/&|;s|\.lo$||'`;\
                  /bin/sh ./libtool  --tag=CC   --mode=compile opencc -DHAVE_CONFIG_H -I. -I./src/include  -I./src/include -I./src/mpi/datatype -I./src/mpi/spawn -Isrc/util/logging/common -I./src/util/wrappers -I./src/util/wrappers -I./src/binding/cxx -I/home/eyurtese/temp/mpich2-1.5rc1/src/binding/f77 -Isrc/binding/f90 -I./src/mpid/ch3/include -I./src/mpid/ch3/include  -I./src/mpid/ch3/channels/nemesis/include -I./src/mpid/ch3/channels/nemesis/include -I./src/mpid/ch3/channels/nemesis/utils/monitor  -I./src/mpid/common/datatype -I./src/mpid/common/datatype -I./src/mpid/common/sched   -I./src/mpid/common/thread -I/home/eyurtese/temp/mpich2-1.5rc1/src/mpi/comm  -I./src/pmi/simple  -march=barcelona -msse3 -O2 -lfortran -lffio -lm  -I/home/eyurtese/temp/mpich2-1.5rc1/src/mpl/include -I/home/eyurtese/temp/mpich2-1.5rc1/src/mpl/include -I/home/eyurtese/temp/mpich2-1.5rc1/src/openpa/src -I/home/eyurtese/temp/mpich2-1.5rc1/src/openpa/src -I/home/eyurtese/temp/mpich2-1.5rc1/src/mpi/romio/include  -march=barcelona -msse3 -O2 -lfortran -lffio -lm   -O2 -MT src/binding/f90/create_f90_real.lo -MD -MP -MF $depbase.Tpo -c -o src/binding/f90/create_f90_real.lo src/binding/f90/create_f90_real.c &&\
                  mv -f $depbase.Tpo $depbase.Plo
              libtool: compile:  opencc -DHAVE_CONFIG_H -I. -I./src/include -I./src/include -I./src/mpi/datatype -I./src/mpi/spawn -Isrc/util/logging/common -I./src/util/wrappers -I./src/util/wrappers -I./src/binding/cxx -I/home/eyurtese/temp/mpich2-1.5rc1/src/binding/f77 -Isrc/binding/f90 -I./src/mpid/ch3/include -I./src/mpid/ch3/include -I./src/mpid/ch3/channels/nemesis/include -I./src/mpid/ch3/channels/nemesis/include -I./src/mpid/ch3/channels/nemesis/utils/monitor -I./src/mpid/common/datatype -I./src/mpid/common/datatype -I./src/mpid/common/sched -I./src/mpid/common/thread -I/home/eyurtese/temp/mpich2-1.5rc1/src/mpi/comm -I./src/pmi/simple -march=barcelona -msse3 -O2 -lfortran -lffio -lm -I/home/eyurtese/temp/mpich2-1.5rc1/src/mpl/include -I/home/eyurtese/temp/mpich2-1.5rc1/src/mpl/include -I/home/eyurtese/temp/mpich2-1.5rc1/src/openpa/src -I/home/eyurtese/temp/mpich2-1.5rc1/src/openpa/src -I/home/eyurtese/temp/mpich2-1.5rc1/src/mpi/romio/include -march=barcelona -msse3 -O2 -lfortran -lffio -lm -O2 -MT src/binding/f90/create_f90_real.lo -MD -MP -MF src/binding/f90/.deps/create_f90_real.Tpo -c src/binding/f90/create_f90_real.c -o src/binding/f90/create_f90_real.o
              src/binding/f90/create_f90_real.c: In function 'PMPI_Type_create_f90_real':
              src/binding/f90/create_f90_real.c:73: error: expected expression before ',' token
              src/binding/f90/create_f90_real.c:74: warning: braces around scalar initializer
              src/binding/f90/create_f90_real.c:74: warning: (near initialization for 'f90_real_model[0].dtype')
              src/binding/f90/create_f90_real.c:74: error: expected expression before ',' token
              src/binding/f90/create_f90_real.c:74: warning: excess elements in scalar initializer
              src/binding/f90/create_f90_real.c:74: warning: (near initialization for 'f90_real_model[0].dtype')
              make[2]: *** [src/binding/f90/create_f90_real.lo] Error 1
              make[2]: Leaving directory `/home/eyurtese/temp/mpich2-1.5rc1'
              make[1]: *** [all-recursive] Error 1
              make[1]: Leaving directory `/home/eyurtese/temp/mpich2-1.5rc1'
              make: *** [all] Error 2
              

               

              Santosh, I have re-tested and getting the same results. Here is the information you requested. I think the reason might be because configure is picking different options on my system.?

                • Re: mpich2 1.5rc1 and open64 4.5.2 problem
                  santosh.zanjurne

                  can you please give me .ii file also?  I have mentioned how to create one in earlier.  And I guess you are using SL 6.2 but please confirm the Operating system.

                   

                  Regards,

                  Santosh

                    • Re: mpich2 1.5rc1 and open64 4.5.2 problem
                      yurtesen

                      santosh.zanjurne wrote:

                       

                      can you please give me .ii file also?  I have mentioned how to create one in earlier.  And I guess you are using SL 6.2 but please confirm the Operating system.

                       

                      Hello Santosh,

                       

                      Sorry for the delay, I wasnt sure if you needed the .ii file earlier. It is attached.

                      Yes, the OS is SL 6.2. I have slurm installed there, it is a part of a computing cluster. If you still need more information, please let me know.

                        • Re: mpich2 1.5rc1 and open64 4.5.2 problem
                          santosh.zanjurne

                          It looks either the 'cross compilation' is turned on on your system or the result of 'precision and range' are coming wrong.

                          You can find this information in config.log.  can you please attach your config.log file here?

                           

                          checking whether we are cross compiling...<result>

                          checking for the precision and range of reals...<result>

                           

                          Regards,

                          Santosh

                            • Re: mpich2 1.5rc1 and open64 4.5.2 problem
                              yurtesen

                              I see:

                               

                              configure:5258: checking whether we are cross compiling
                              configure:5266: opencc -o conftest -march=barcelona -msse3 -O2 -lfortran -lffio -lm  -march=barcelona -msse3 -O2 -lfortran -lffio -lm    conftest.c   >&5
                              configure:5270: $? = 0
                              configure:5277: ./conftest
                              configure:5281: $? = 0
                              configure:5296: result: no
                              

                               

                              but:

                              configure:44604: checking for the precision and range of reals
                              configure:44631: openf95 -o conftest -march=barcelona -msse3 -O2 -lfortran -lffio -lm  -O2    conftest.f90 -lpthread   >&5
                              configure:44631: $? = 0
                              configure:44631: ./conftest
                              ./configure: line 2892: 11075 Illegal instruction     ./conftest$ac_exeext
                              configure:44631: $? = 132
                              configure: program exited with status 132
                              configure: failed program was:
                              |
                              |
                              |         program main
                              |         real aa
                              |         open(8, file="pac_fconftest.out", form="formatted")
                              |         write(8,*) precision(aa), ",", range(aa)
                              |         close(8)
                              |         end
                              |
                              |
                              
                              configure:44648: result: Error
                              configure:44650: WARNING: Failed to run program to determine the precision and range of reals
                              

                               

                              I attached the whole config.log and I also tried to compile the test program manually using openf90 and openf95 and I am getting illegal instruction in all cases.

                                • Re: mpich2 1.5rc1 and open64 4.5.2 problem
                                  santosh.zanjurne

                                  Hello Evereen,

                                  I think you must be using the compiler binaries which are listed under Title: "SLES 11, RHEL 6  - For AMD Opteron Family 15h processor("Piledriver"core) architecture". Can you please confirm?  If your machine is not Piledriver core, then you should download the compiler binaries listed in, "SLES11,  SLES 10 SP2, SLES 10 SP3, RHEL 6, RHEL 5.5 - For any x86-64 architecture" from below download link page.

                                   

                                  http://developer.amd.com/tools/cpu/open64/Pages/default.aspx#four

                                   

                                  I know its bit confusing, am sorry for that.  I am working on the ways/options to remove this ambuigity.

                                   

                                  Regards,

                                  Santosh

                                    • Re: mpich2 1.5rc1 and open64 4.5.2 problem
                                      yurtesen

                                      Hello Santosh,

                                       

                                      Thanks for finding what went wrong. It appears I have downloaded the wrong file.... Yet, I used -march=barcelona and it should have obeyed it. With the right compiler download, things seem to be functioning much better!

                                       

                                      More importantly, there shouldnt be a download per processor architecture. It is already cumbersome to use Open64 compiler as it is and I get problems everytime I compile something with it. Now we have to have multiple compilers installed in our systems? (if we have different type nodes for example) Thats just asking for trouble!

                                       

                                      Thanks,

                                      Evren