You are here

Error in building fragment_picker with boost_thread

6 posts / 0 new
Last post
Error in building fragment_picker with boost_thread

Hi all,

I am new to the whole Rosetta community and am asking for some help in compiling Rosetta3.  I have downloaded build Rosetta3.12 build 2020.08.61146 and tried to compile the thread boost version of fragment pick by using

./ mode=release extras=boost_thread bin/fragment_picker.boost_thread.linuxgccrelease -j 20

The error message that I get is:


g++ -o build/external/release/linux/3.10/64/x86/gcc/4.8/boost_thread/ -Wl,--disable-new-dtags -shared -Wl,-rpath=/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/build/external/release/linux/3.10/64/x86/gcc/4.8/boost_thread -Wl,-rpath=\$ORIGIN -Wl,-rpath=\$ORIGIN/../lib build/external/release/linux/3.10/64/x86/gcc/4.8/boost_thread/dummy.os -Lexternal/lib -Lbuild/external/release/linux/3.10/64/x86/gcc/4.8/boost_thread -Lexternal -L/usr/lib/oracle/12.2/client64/lib -L/usr/lib -L/usr/local/lib -L/usr/local/lib -L/opt/boost/lib -lpthread -lpthread -lboost_thread
/usr/bin/ld: cannot find -lboost_thread
collect2: error: ld returned 1 exit status
scons: *** [build/external/release/linux/3.10/64/x86/gcc/4.8/boost_thread/] Error 1


Here is some information about the machine that I am trying to compile Rosetta on;

gcc version 4.8.5 20150623


kernel version: Linux 3.10.0-862.el7.x86_64 x86_64

Can someone with more experience point me to what the problem is?




Post Situation: 
Thu, 2020-06-04 09:33

Hi, Ken.  The Boost::thread build is one that we unfortunately no longer test or actively support.  It looks like it has succumbed to bit-rot.  We plan to switch the fragment picker to use C++11 threads in the near future (to be in line with the rest of Rosetta).  Until then, the single-threaded build is unfortunately the best option.

Thu, 2020-06-04 10:04

Correction: it looks like there's already C++11 thread support there.  So you can compile with `extras=cxx11thread` instead of `extras=boost_thread`.

Thu, 2020-06-04 10:12

Thanks vmullgan.  If I downloaded the binary executable bundle instead of the source and only want to compile fragment picker, can you tell me what the name would be? I am asking because I am getting this error when I use

./ mode=release extras=cx11thread bin/fragment_picker.boost_thread.linuxgccrelease -j 20



scons: Reading SConscript files ...
Traceback (most recent call last):
  File "/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/SConstruct", line 149, in main
    build = SConscript("tools/build/")
  File "/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/external/scons-local/scons-local-3.0.4/SCons/Script/", line 667, in __call__
    return method(*args, **kw)
  File "/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/external/scons-local/scons-local-3.0.4/SCons/Script/", line 604, in SConscript
    return _SConscript(self.fs, *files, **subst_kw)
  File "/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/external/scons-local/scons-local-3.0.4/SCons/Script/", line 285, in _SConscript
  File "/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/tools/build/", line 451, in <module>
    build = setup()
  File "/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/tools/build/", line 441, in setup
    build.options_requested, build.options = setup_build_options()
  File "/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/tools/build/", line 72, in setup_build_options
    env  = Environment(options = options)
  File "/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/external/scons-local/scons-local-3.0.4/SCons/", line 965, in __init__
  File "/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/external/scons-local/scons-local-3.0.4/SCons/Variables/", line 221, in Update
    raise SCons.Errors.UserError('Error converting option: %s\n%s'%(option.key, x))
SCons.Errors.UserError: Error converting option: extras
Invalid value(s) for option: cx11thread
scons: done reading SConscript files.
scons: Building targets ...
scons: *** Do not know how to make File target `bin/fragment_picker.boost_thread.linuxgccrelease' (/nfs/peptide/home/lok2/tmp/rosetta_bin_linux_2020.08.61146_bundle/main/source/bin/fragment_picker.boost_thread.linuxgccrelease).  Stop.
scons: building terminated because of errors.




Thu, 2020-06-04 11:22

Hi, Ken:

It's extras=cxx11thread, not extras=cx11thread.  And the executable is bin/fragment_picker.cxx11thread.linuxgccrelease, though you needn't provide the whole executable name.  Scons is smart enough to figure it out if you just say fragment_picker.  So:

./ -j 20 mode=release extras=cxx11thread fragment_picker


Sun, 2020-06-07 16:11

Thanks vmulligan!  Worked like a charm.



Wed, 2020-06-10 09:45