rosetta compile with mpi options

Member Site Forums Rosetta 3 Rosetta 3 – Build/Install rosetta compile with mpi options

Viewing 4 reply threads
  • Author
    • #1731


        I am trying to compile rosetta with mpi options on our linux based university cluster but the compilation fails with the following error,

        Before compiling, I copied the into site.settings in /tools/build/, since in one of the posts it was mentioned that this is suitable for compiling on intel based clusters.

        $ ./ bin mode=release extras=mpi
        scons: Reading SConscript files …
        Running versioning script … fatal: Not a git repository (or any of the parent directories): .git
        fatal: Not a git repository (or any of the parent directories): .git
        Done. (0.0 seconds)
        scons: done reading SConscript files.
        scons: Building targets …
        mpicxx -o build/src/release/linux/2.6/64/x86/gcc/4.4/mpi/apps/public/AbinitioRelax.o -c -std=c++98 -isystem external/boost_1_46_1/ -pipe -ffor-scope -Wall -Wextra -pedantic -Wno-long-long -O3 -ffast-math -funroll-loops -finline-functions -s -Wno-unused-variable -finline-limit=487 -DNDEBUG -DUSEMPI -Isrc -Iexternal/include -Isrc/platform/linux/64/gcc/4.4 -Isrc/platform/linux/64/gcc -Isrc/platform/linux/64 -Isrc/platform/linux -I/opt/apps/intel/2011.0.013/mkl/include -I/opt/apps/intel/2011.0.013/include -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/include -I/usr/local/include src/apps/public/
        mpicxx: error while loading shared libraries: cannot open shared object file: No such file or directory
        scons: *** [build/src/release/linux/2.6/64/x86/gcc/4.4/mpi/apps/public/AbinitioRelax.o] Error 127
        scons: building terminated because of errors.

        Here is the result of echo $PATH,

        I have also tried to compile using only gcc and not intel by setting the relevant paths and copying the site.settings.topsail to site.setting. In this case the compilation proceeds without any overt errors but when I execute my script with mpiexe ./script, it throws up errors indicating problem with loading shared libraries. The IT people who maintain our cluster strongly recommend using intel compilers. What should I do?

        I would greatly appreciate any help!

      • #9427

          Interesting. There’s only two differences between the and the site.settings.topsail files. This first is that the “include_path” line is commented out for lonestar, and the second is that lonestar has a ` “cxx” : “mpicxx”, ` line in the overrides section. I don’t think the issue you’re running into is with include_path line (although it might be worth a try uncommenting it to see.) The overrides is what’s selecting the intel compiler versus the gcc compiler.

          Best I can tell, you may not have your environment variables set up appropriately for intel mpi compiles. Have you been able to successfully compile other (non-Rosetta) programs with intel/mpi? For the clusters I’ve used mpi on, there’s been specific incantations that have to be in the shell startup files in order to get things to work. (Unfortunately, they’re specific to the cluster you’re using.) If you don’t have them, or if you didn’t do them properly, MPI builds will die miserably. You may need to talk to the cluster admins to see what these should be.

          If that’s not an issue, it may be that your cluster is set up idiosyncratically. The $PATH variable is probably not an issue – that’s for executables, but not for finding libraries. What are your $LD_LIBRARY_PATH and $LIBRARY_PATH environment variables? (while we’re at it, what’s the $INCLUDE variable?) Basically, the file should be in a directory listed in the $LD_LIBRARY_PATH variable for the Rosetta compile to work. You may want to talk with the cluster admins as to where that file is located, or you might be able to find it yourself by digging around the /opt/apps/intel/ directory (try the command: find /opt/apps/intel/ -name “” ).

        • #9429

            Hello, thank you for the prompt response. The *is* in the library path.
            $ echo $LD_LIBRARY_PATH

            $ ls -l /opt/apps/intel/2011.0.013/lib/intel64/
            -rwxr-xr-x 1 root root 3264667 Apr 28 2011 /opt/apps/intel/2011.0.013/

            echo $INCLUDE

            echo $LIBRARY_PATH

            It is also in the following locations:

            find /opt/apps/intel/ -name

            The cluster admin suggested that “python build environment is messing up the
            library path”. I am fairly new to scripts and command line and have asked for more details from him but
            meanwhile, I thought I would post it here.


          • #9430

              So, the cluster admin suggested i use openmpi/1.4.4-gcc to compile mpi.

              It appears to be compiling but is also throwing up following errors

              /opt/apps/openmpi/1.4.4-gcc/include/openmpi/ompi/mpi/cxx/comm_inln.h:644: warning: unused parameter ‘oldcomm’
              /opt/apps/openmpi/1.4.4-gcc/include/openmpi/ompi/mpi/cxx/comm_inln.h:644: warning: unused parameter ‘comm_keyval’
              /opt/apps/openmpi/1.4.4-gcc/include/openmpi/ompi/mpi/cxx/comm_inln.h:644: warning: unused parameter ‘extra_state’
              /opt/apps/openmpi/1.4.4-gcc/include/openmpi/ompi/mpi/cxx/comm_inln.h:644: warning: unused parameter ‘attribute_val_in’
              /opt/apps/openmpi/1.4.4-gcc/include/openmpi/ompi/mpi/cxx/comm_inln.h:644: warning: unused parameter ‘attribute_val_out’
              /opt/apps/openmpi/1.4.4-gcc/include/openmpi/ompi/mpi/cxx/comm_inln.h:671: warning: unused parameter ‘comm’
              /opt/apps/openmpi/1.4.4-gcc/include/openmpi/ompi/mpi/cxx/comm_inln.h:671: warning: unused parameter ‘comm_keyval’
              /opt/apps/openmpi/1.4.4-gcc/include/openmpi/ompi/mpi/cxx/comm_inln.h:671: warning: unused parameter ‘attribute_val’
              /opt/apps/openmpi/1.4.4-gcc/include/openmpi/ompi/mpi/cxx/comm_inln.h:671: warning: unused parameter ‘extra_state’

              Not sure what these mean. Any ideas?

            • #9432

                Thanks J. Sorry, I am very new to command line and scripting. Still learning the lingo.
                Warning is what I meant :)

              • #9431

                  Big difference between warnings and errors, but you shouldn’t have to worry about these warnings. They say that some variable in that file was defined but not used.


                • #9433

                    The issue you run into here is that compiler *errors* mean something went wrong with the compile, and needs to be fixed before you get a working program. Compiler *warnings* just mean that something is sub-optimal. Your compile still worked and still gave you a working program (unless you also get errors), it’s just that certain things happened that might indicate that developers need to look into things.

                    For you as an end user, “warnings” can be safely ignored (they’re there for developers) – it’s only “errors” that you need to be concerned with.

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