You are here

failed to build loophash_mpi.cc and loophash_createdb.cc,look for help

9 posts / 0 new
Last post
failed to build loophash_mpi.cc and loophash_createdb.cc,look for help
#1

errors:(g++ -o build/src/release/linux/2.6/32/x86/gcc/4.1/apps/public/loophash/loophash_createdb.o -c -isystem external/boost_1_46_1/boost/ -isystem external/boost_1_46_1/boost/ -malign-double -march=pentium4 -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/32/gcc/4.1 -Isrc/platform/linux/32/gcc -Isrc/platform/linux/32 -Isrc/platform/linux -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/include -I/usr/local/include src/apps/public/loophash/loophash_createdb.cc
src/apps/public/loophash/loophash_createdb.cc:15:25: error: devel/init.hh: No such file or directory
src/apps/public/loophash/loophash_createdb.cc: In function 'int main(int, char**)':
src/apps/public/loophash/loophash_createdb.cc:54: error: 'devel' has not been declared
scons: *** [build/src/release/linux/2.6/32/x86/gcc/4.1/apps/public/loophash/loophash_createdb.o] Error 1
scons: building terminated because of errors.)
I don't know how to deal with devel/init.hh.My src/devel is empty.Is there anyone can tell me something?

AttachmentSize
loophash_createdb.txt2.43 KB
loophash_mpi.txt4.68 KB
Post Situation: 
Thu, 2013-05-16 01:18
Run

First off, this is the PyRosetta section of the forum - if you're looking to compile the C++ applications, the "Rosetta 3 - Build/Install" forum is the better place to do it. (And you'll want to be building off of the Rosetta 3 download, rather than a PyRosetta download.)

That said, during the release process, references to devel/init.hh should bet translated to protocols/init/init.hh (For Rosetta 3.4), and references to the devel::init(argc, argv) to protocols::init::init(argc, argv) - The conversion for loophash possibly didn't happen. (Or is it pre-released code - Rosetta 3.4 doesn't have a src/apps/public/loophash/ directory.)

Thu, 2013-05-16 11:02
rmoretti

what's the difference between protocols/init/init.hh and core/init.hh?I am not very clear.I use core/init,and compile it successfully.

Thu, 2013-05-16 22:13
Run

Rosetta is constructed as a layered series of libraries. Each init() function will initialize the library at that level and all lower level. So protocols::init() will do any protocols-level initialization and then will call core::init() (protocols being a higher level than core), which will then do core-level initialization. So if you call core::init() directly, you'll leave any initialization at the protocols level undone. In practice it doesn't affect things because the only thing protocols::init() currently does is call core::init(), but it's a little risky, as that might not always be the case.

That, by the way, is why the applications usually call devel::init() - it's the highest level init, and will call all the lower level ones, so you're sure that everything will be initialized properly.

Fri, 2013-05-17 12:00
rmoretti

Thank you .
And I install the mpich successfully.which mpicc--/usr/MPICH/bin/mpicc.When I compile scons extras=mpi,I don't know why it tells me sh:mpicc:command not found.
errors:(mpicc -o build/external/debug/linux/2.6/32/x86/gcc/4.1/mpi/dbio/sqlite3/sqlite3.os -c -isystem external/boost_1_46_1/boost/ -malign-double -march=pentium4 -O0 -g -ggdb -ffloat-store -fno-fast-math -fPIC -DUSEMPI -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_DISABLE_LFS -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/include -I/usr/local/include external/dbio/sqlite3/sqlite3.c
sh: mpicc: command not found
scons: *** [build/external/debug/linux/2.6/32/x86/gcc/4.1/mpi/dbio/sqlite3/sqlite3.os] Error 127
scons: building terminated because of errors.)

Sat, 2013-05-18 23:48
Run

That's strange - if which can find the appropriate executable, there normally shouldn't be an issue.

The only thing I can think of at the moment is that there's some issue with your path setup such that your login shell has the appropriate path, but the shell that scons launches to do the compilation doesn't. This could happen if you're using a different shell system for login (e.g. tcsh or zsh, or even bash for those systems for which bash and sh are separate) versus the "sh" shell that scons is using for compilation, and the path setup didn't make it to the sh configuration file, or you have the MPI path set in a location where it's not being loaded for a non-interactive shell.

Try launching the "sh" shell and seeing if which can find mpicc from within there.

Sun, 2013-05-19 11:50
rmoretti

I launch the "sh".
[run@localhost ~]$ sh
sh-3.2$ which mpicc
/usr/MPICH/bin/mpicc
sh-3.2$ cd Desktop/rosetta3.4/rosetta_source/
sh-3.2$ scons extras=mpi
scons: Reading SConscript files ...
Running versioning script ... fatal: Not a git repository (or any of the parent directories): .git
Done. (0.6 seconds)
scons: done reading SConscript files.
scons: Building targets ...
mpicc -o build/external/debug/linux/2.6/32/x86/gcc/4.1/mpi/dbio/sqlite3/sqlite3.os -c -isystem external/boost_1_46_1/boost/ -malign-double -march=pentium4 -O0 -g -ggdb -ffloat-store -fno-fast-math -fPIC -DUSEMPI -DSQLITE_THREADSAFE=0 -DSQLITE_OMIT_LOAD_EXTENSION -DSQLITE_DISABLE_LFS -Iexternal/boost_1_46_1 -Iexternal/dbio -I/usr/include -I/usr/local/include external/dbio/sqlite3/sqlite3.c
sh: mpicc: command not found
scons: *** [build/external/debug/linux/2.6/32/x86/gcc/4.1/mpi/dbio/sqlite3/sqlite3.os] Error 127
scons: building terminated because of errors.
And in fact,there is mpicc.Why it can't find mpicc?

Sun, 2013-05-19 19:07
Run

One last thing to try is to go into rosetta_source/tools/build/basic.settings and try changing all the
"cc" : "mpicc",
lines to use the absolute path:
"cc" : "/usr/MPICH/bin/mpicc",

Past that, I'm officially stumped. Your best bet would be to track down a local MPI/Unix guru/sysadmin and have them help you troubleshoot your settings.

Mon, 2013-05-20 11:52
rmoretti

I don't see it mentioned in this thread, so I'll mention it here:

You may want to copy rosetta_source/tools/build/site.settings.topsail to rosetta_source/tools/build/site.settings if /usr/MPICH/bin/ is in your $PATH variable (which it seems to be).
I don't exactly know how it would be different than giving the full path in basic.settings as Rocco suggested, but it may be worth a try.

From what I understand, the default basic.settings does not use the $PATH variable. For some unknown reason.

Mon, 2013-05-20 13:43
jadolfbr