Rosetta 3.4 Install w/ MPI

Member Site Forums Rosetta 3 Rosetta 3 – Build/Install Rosetta 3.4 Install w/ MPI

  • This topic has 15 replies, 6 voices, and was last updated 11 years ago by Anonymous.
Viewing 5 reply threads
  • Author
    Posts
    • #1394
      Anonymous

        I hate to add another thread about compiling Rosetta with MPI, but after searching through this forum, and trying a number of potential solutions, I am still stuck.

        When I execute the command:

        $ ./scons.py bin mode=release extras=mpi

        I get the following error:

        mpiCC -o build/src/release/linux/2.6/64/x86/gcc/4.1/mpi/apps/public/AbinitioRelax.o -c -isystem external/boost_1_46_1/boost/ -isystem external/boost_1_46_1/boost/ -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -DNDEBUG -DUSEMPI -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc/4.1 -Isrc/platform/linux/64/gcc -Isrc/platform/linux/64 -Isrc/platform/linux -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/include -I/usr/local/include src/apps/public/AbinitioRelax.cc
        sh: mpiCC: command not found
        scons: *** [build/src/release/linux/2.6/64/x86/gcc/4.1/mpi/apps/public/AbinitioRelax.o] Error 127
        scons: building terminated because of errors.

        I understand the error is due to not being able to locate the MPI compiler.

        mpiCC does not exist on this cluster; however, the following does:

        /share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicc
        /share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicxx

        I feel the solution to this problem is something as simple as telling scons to use mpicc instead of mpiCC.

        I have tried a few potential solutions, including:

        1) Adding the following to the tools/build/site.settings file

        “overrides” : {
        “cxx”: “/share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicxx”,
        “cc”: “/share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicc”,
        },

        2) creating a symbolic link (mpiCC -> /share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicc) in my home directory, and adding that to my path.

        Any guidence on resolving this issue would be greatly appreaciated.

        Thanks!
        –Eddie

      • #7738
        Anonymous

          The first thing I notice is that you are NOT using cxx=icc, but you appear to be using intel’s mpicc. Try scons bin mode=release extras=mpi cxx=icc first thing.

          You are 100% trying the right things, but you didn’t specifically mention the solution I suggest first – have you tried copying the program/library path stuff out of site.settings.killdevil or site.settings.topsail into your own site.settings? Adding mpiCC to your $PATH won’t work without $PATH being in scons’s view (which is what the line

          “program_path” : os.environ[“PATH”].split(“:”),

          does).

        • #7744
          Anonymous

            Thanks for the quick reply. I think I was able to get it compiling with your suggestions; hopefully, no errors creep up, although quite a few warnings are being thrown.

            For posterity, here is a copy of my site.settings file that seems to be working:

            import os
            settings = {
            “site” : {
            “prepends” : {
            “program_path” : os.environ[“PATH”].split(“:”),
            “include_path” : os.environ[“INCLUDE”].split(“:”),
            “library_path” : os.environ[“LD_LIBRARY_PATH”].split(“:”),
            },
            “appends” : {
            },
            “overrides” : {
            “cxx”: “/share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicxx”,
            “cc”: “/share/apps/mpich2/mpich2-1.3.2p1/intel/bin/mpicc”,
            },
            “removes” : {
            },
            },
            }

            Finally, running: $./scons.py bin mode=release extras=mpi cxx=icc

            Thanks, again.

          • #8029
            Anonymous

              Hi folks!

              I do not want to open a new thread, since I think I have a similar problem.
              I cannot compile Rosetta through ‘scons bin mode=release extras=mpi -j 8’
              Error:
              build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/libprotocols.3.so: undefined reference to `MPI_Op_commutative’
              build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/libprotocols.3.so: undefined reference to `MPI_Reduce_local’
              collect2: ld returned 1 exit status
              scons: *** [build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/InterfaceAnalyzer.mpi.linuxgccrelease] Error 1
              build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/apps/public/interface_design/anchored_design/AnchorFinder.o: In function `MPI::Op::Is_commutative() const’:
              AnchorFinder.cc:(.text._ZNK3MPI2Op14Is_commutativeEv[MPI::Op::Is_commutative() const]+0x16): undefined reference to `MPI_Op_commutative’
              build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/apps/public/interface_design/anchored_design/AnchorFinder.o: In function `MPI::Op::Reduce_local(void const*, void*, int, MPI::Datatype const&) const’:
              AnchorFinder.cc:(.text._ZNK3MPI2Op12Reduce_localEPKvPviRKNS_8DatatypeE[MPI::Op::Reduce_local(void const*, void*, int, MPI::Datatype const&) const]+0x33): undefined reference to `MPI_Reduce_local’
              collect2: ld returned 1 exit status
              scons: *** [build/src/release/linux/3.2/32/x86/gcc/4.6/mpi/AnchorFinder.mpi.linuxgccrelease] Error 1
              scons: building terminated because of errors.

              Any ideas?
              My system is Ubuntu 12.04 32bit on AMD FX8150 processor/16 GB Ram

              Thank you very much for your help!
              dati

            • #9010
              Anonymous

                Hi,

                I have the exact error as edpryor did at first.
                Then I tried his suggestion to modify the site.settings and command “scons bin mode=release extras=mpi cxx=icc”

                Then, I got the following error message:

                File “/working004b/chem_eng3/yingfeic/rosetta/rosetta_source/tools/build/setup_platforms.py”, line 83, in select_compiler_version
                (actual, compiler)
                KeyError: “Unknown version number 12.0 for compiler ‘icc'”

                Is there anything I need to modify?

                Please let me know if you need other information to solve this.

                Thanks,
                Rita

              • #9011
                Anonymous

                  Hi Rita,

                  Are you using Rosetta 3.4 or 3.5?

                  Can you check the file rosetta_source/tools/build/basic.settings line ~880?

                  Do you see this block:

                  “icc, 12.0, linux” : {
                  “override” : {
                  “version” : [ “12”,”0″ ],
                  },
                  },

                  If not,
                  I believe you should be able to add it and it should compile ok. This block should be in 3.5, if not, it will be in the next release version (it is in developers trunk).

                  -Jared

                  P.S the forum eats the tabs of the python block, so if you need to add it, follow the tabs like the other blocks in the file.

                • #8030
                  Anonymous

                    These are linker errors, implying that the MPI libraries are either not present, or not where scons thinks they should be…what MPI libraries did you install?

                  • #8031
                    Anonymous

                      I just installed open mpi-1.6.3 right from their website. I put it to /usr/local and installed it from there by their discribtion of How to build Open MPI.

                    • #8037
                      Anonymous

                        Why did you trying building it yourself instead of using the ubuntu libraries? Here’s what I find for OpenMPI on a system in my lab where it works:

                        > apt-cache search openmpi
                        libopenmpi-dbg – high performance message passing library — debug library
                        libopenmpi-dev – high performance message passing library — header files
                        libopenmpi1.3 – high performance message passing library — shared library
                        libopenmpi1.5-2 – high performance message passing library — shared library
                        libopenmpi1.5-dbg – high performance message passing library — debug library
                        libopenmpi1.5-dev – high performance message passing library — header files
                        openmpi-bin – high performance message passing library — binaries
                        openmpi-checkpoint – high performance message passing library — checkpoint support
                        openmpi-common – high performance message passing library — common files
                        openmpi-doc – high performance message passing library — man pages
                        openmpi1.5-bin – high performance message passing library — binaries
                        openmpi1.5-checkpoint – high performance message passing library — checkpoint support
                        openmpi1.5-common – high performance message passing library — common files
                        openmpi1.5-doc – high performance message passing library — man pages

                        You can probably run “sudo apt-get install libopenmpi-dev” and “sudo apt-get install openmpi-bin” and it will likely work out.

                      • #8042
                        Anonymous

                          Thank you! I’m not an expert on such things. Did not know, that ubuntu comes along with mpi libaries! I will try, if it works. Thank you again!

                        • #8043
                          Anonymous

                            Ubuntu has libraries for everything – I’ve never had to manually install _anything_, you can just use the ubuntu repository.

                          • #8044
                            Anonymous

                              It worked. Haven’t tried to run rosetta with mpi so far. But we’ll see! Thank you again!

                            • #9019
                              Anonymous

                                Hi Jared,

                                I’m using rosetta 3.4.
                                I was able to add this block in the basic.settings
                                But I still got the same error, which I have no idea why it still appears.

                                KeyError: “Unknown version number 12.0 for compiler ‘icc'”
                                scons: done reading SConscript files.

                                Any suggestions?

                                Thanks,
                                Rita

                              • #9021
                                Anonymous

                                  Hi Rita,

                                  I have forwarded this to someone who may be able to help more than I can (smlewis). In the meantime, you could try 3.5.

                                • #9024
                                  Anonymous

                                    Thank you Jared.
                                    Since I’ve already installed the regular Rosetta 3.4 on the machine, I hope there will be a work around towards this.

                                    Thanks again,
                                    Rita

                                  • #9034
                                    Anonymous

                                      I have experienced the same sort of error as Rita.

                                      I am trying to compile rosetta-3.5 with mpich2 and icc 12.1

                                      ./scons.py bin mode=release extras=mpi cxx=icc

                                      KeyError: “Unknown version number 12.1 for compiler ‘icc'”

                                      I edited my tools/build/basic.settings to include icc 12.1

                                      eg:

                                      },
                                      “icc, 12.1, linux” : {
                                      “override” : {
                                      “version” : [ “12”,”1″ ],
                                      },
                                      },

                                      and after editing basic.settings I still see the same error.

                                      Is there something else I can try?

                                      Starr

                                  Viewing 5 reply threads
                                  • You must be logged in to reply to this topic.