Member Site Forums Rosetta 3 Rosetta 3 – Build/Install sqlite3.c errors

Viewing 2 reply threads
  • Author
    Posts
    • #3106
      Anonymous

        I’ve been trying for a while to build Rosetta on a cluster.

        I’m getting errors related to sqlite3.c. Does anyone know how to fix this?


        external/dbio/sqlite3/sqlite3.c:19305:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
        };
        ^
        external/dbio/sqlite3/sqlite3.c:19305:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
        external/dbio/sqlite3/sqlite3.c:19305:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
        external/dbio/sqlite3/sqlite3.c:19305:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
        external/dbio/sqlite3/sqlite3.c:19305:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
        external/dbio/sqlite3/sqlite3.c:19305:1: warning: deprecated conversion from string constant to ‘char*’ [-Wwrite-strings]
        external/dbio/sqlite3/sqlite3.c: In function ‘void strftimeFunc(sqlite3_context*, int, sqlite3_value**)’:
        external/dbio/sqlite3/sqlite3.c:19738:40: error: invalid conversion from ‘void*’ to ‘char*’ [-fpermissive]
        z = sqlite3DbMallocRawNN(db, (int)n);

         

      • #14599
        Anonymous

          Which compiler are you using?  And what compilation command did you use?

          • #14600
            Anonymous

              The compiler command is: 

              external/scons-local/scons.py bin mode=release extras=mpi -j8

              The compilers are:

              [ Dalma compute-60-3 ~/apps/Rosetta/main/source ]

              $ which mpiCC

              /share/apps/NYUAD/openmpi/gcc_4.9.3/1.10.2/bin/mpiCC

              [ Dalma compute-60-3 ~/apps/Rosetta/main/source ]

              $ which mpicxx

              /share/apps/NYUAD/openmpi/gcc_4.9.3/1.10.2/bin/mpicxx

              site.settings:

              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” : {

                      },

                      “removes” : {

                      },

                  },

              }

              user.settings:

              import os

              settings = {

                  “user” : {

                      “prepends” : {

                      },

                      “appends” : {

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

                          #”defines” : [ ‘EXPERIMENTAL_TRACER_FEATURES’ ],

                      },

                      “overrides” : {

                          “ENV” : os.environ,

                          “cc” : “/share/apps/NYUAD/openmpi/gcc_4.9.3/1.10.2/bin/mpiCC”,

                          “cxx” : “/share/apps/NYUAD/openmpi/gcc_4.9.3/1.10.2/bin/mpicxx”,

                      },

                      “removes” : {

                      },

                  }

              }

          • #14605
            Anonymous

              Am I the only Rosetta user to run into this problem?

              • #14617
                Anonymous

                  I think this is related to your compiler defintions in user.settings.

                  I think mpiCC (with the two capitol Cs) is a C++ compiler, which is a bit more persnickity about conversion issues than a plain C compiler wouid be. The “cc” variable in the *.settings files should be the plain C compiler, which is likely something like “mpicc” (lower case cs).

                  If that doesn’t work, consult your MPI compiler documentation and make sure that the “cc” variable is set to the plain C (not C++) compiler. (The “cxx” variable should be the C++ compiler.)

                   

                • #14640
                  Anonymous

                    Changing mpiCC to mpicc in user.settings did the trick!

                    What’s strange is that in /share/apps/NYUAD/openmpi/gcc_4.9.3/1.10.2/bin both mpiCC and mpicc are both symlinked to a file called “opal_wrapper”. But it works. 

                    Thanks Rocco!

                     

                     

                  • #14641
                    Anonymous

                      There are some programs in Unix which do introspection on how they’re called, and change behavior based on the name used on the command line. This is somewhat common for cases where there are two different programs which can be implemented as effectively the same program, just with different options. (e.g. a plain C and a C++ compiler) You can just write one program, and then do introspection on the command name to flip the different options appropriately, rather than writing two programs. I’m guessing that’s the case here.

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