I'm sorry... I'm sure this is just something basic I overlooked but I'm not sure how this is happening since it seems that a basic component is missing....
I have Rosetta compiled with "extras = mpi" and I have OpenMPI installed.
(mpirun --mca btl_tcp_if_exclude lo,virbr0 --hostfile hostfile -np 1 /home/starone/Public/Rosetta/main/source/bin/fragment_picker.mpi.linuxgccrelease @flags > frag.out) >& frag.err
And found this in frag.err:
/Rosetta/main/source/bin/fragment_picker.mpi.linuxgccrelease: error while loading shared libraries: libsqlite3.so: cannot open shared object file: No such file or directory
Often when one of the "external" libraries (libsqlite, libcppdb, libcifparse) can't be found that indicates an issue with compilation, or that you moved the executables.
In the Rosetta build process, the "external" libraries are built in a separate directory from the "internal" libraries. During compilation the Rosetta programs should be annotated with the location of the external libraries. However, sometimes this doesn't work. Also, if you move the Rosetta installation after it's built (or even just run if from a different absolute path - for example if your mount point changes, or you have it on a network drive) then the annotations no longer work.
My recommendation is to try to re-run the compilation step, making sure to compile it from the same directory name as you are going to run it from in the production case.
Thank you very much for you quick reply! Just to be sure I'm giving you all the information before following your suggestion...
I didn't move the executables, but I did want to do a clean rebuild after I changed from the MPI package that comes with Ubuntu to OpenMPI. I couldn't find a "clean build" option for Rosetta so I followed the instructions I found from a search:
You *should* clean your compiled copy and rebuild. The simplest way to do this is:
rm -rf external src (and whatever else is there)
rm -rf *release *debug (and anything else)
Would any of this cause the problem? Would the re-compile still solve it?
If you did that recompile AFTER changing your MPI version, then the recompile after changing the version should have worked. That said, the standard thing to try first here is "recompile" - it's the equivalent of "turn if off and then on again", and worth doing before we try diagnosing any further.
Doesn't look like the output of a recompilation... :) ? Is there a specific option I can set to specify "recompile"?
scons: Reading SConscript files ...
Running versioning script ... fatal: Not a git repository (or any of the parent directories): .git
Done. (0.1 seconds)
file ./options.dox being updated
file ./full-options-list.md being updated
Number of option files updated: 2
Total 3670 options.
Finished updating ResidueProperty code -- no changes needed
Finished updating VariantType code -- no changes needed
scons: done reading SConscript files.
scons: Building targets ...
scons: `bin' is up to date.
scons: done building targets.
That's a recompile where it didn't do anything (specifically, it didn't re-link, which is the problem you appear to have). Your cleaning procedure (delete the contents of build and .sconsign.dblite) was correct - try that again and then compile.
Will do... But I was just wondering, could it be that I usually download Rosetta with binaries and only ever build the MPI binaries, so I never needed sqlite before? Because it's not installed on my machine... then again I don't remember seeing it mentioned in the Rosetta build documentation.
If I do need it, how do I install it using that "sudo apt-get..." thing :)
Thanks again for all your help!
0:18:28 KLAW-GOR ~/ROSETTA/Rosetta/main/source> find . -name "*sqli*"
It should already be in your Rosetta download, so you don't need the system dependency. We try to make it so that the only external dependency is the compiler and MPI.
If recompiling doesn't work, try adding sqlite3 to the list at the bottom of apps.src.settings.
This is what I get when I use that command:
I didn't know where apps.src.settings was and a friend suggested I run this command: sudo apt-get install libsqlite3-dev
This solved the problem, though I'm thinking it's not the kind of solution that works well given what you said about only requiring a dependency on the compiler and MPI. I'll mark this one solved unless you want me to do something further to help find a more satisfactory solution.
If it's working for you, I'm happy! If you aren't using the sqlite3 hookups, and you probably aren't, then it will be fine.
Ok.. thanks for helping me. Let me know if there's anything I can do.