Rosetta 3.1 compile error, Linux 32 bit

Member Site Forums Rosetta 3 Rosetta 3 – General Rosetta 3.1 compile error, Linux 32 bit

Viewing 11 reply threads
  • Author
    • #642

        Here’s my system info:

        Linux #1 SMP Thu Feb 11 07:05:37 UTC 2010 i686 i686 i386 GNU/Linux

        SCons by Steven Knight et al.:
        script: v1.2.0.r3842, 2008/12/20 22:59:52, by scons on scons-dev
        engine: v1.2.0.r3842, 2008/12/20 22:59:52, by scons on scons-dev

        g++ (GCC) 4.4.1 20090725 (Red Hat 4.4.1-2)

        When I try to compile the Rosetta 3.1 source ( ./ bin mode=release ) I eventually get this error when it reaches

        src/protocols/toolbox/PoseMetricCalculators/ In member function ‘void protocols: :toolbox: :PoseMetricCalculators: :ResidueDecompositionCalculator: :residue_set_numbers_to_decomposition()’:
        src/protocols/toolbox/PoseMetricCalculators/ internal compiler error: Segmentation fault

        Please submit a full bug report,
        with preprocessed source if appropriate.
        See for instructions.
        Preprocessed source stored into /tmp/cc9Zcfir.out file, please attach this to your bugreport.

        Here’s the preprocessed source:

        I’m kidding … it’s 61k lines long :)

        Any suggestions? Or should I go to bugzilla?

      • #4529

          Use a different GCC version – this is a known issue, there’s no known fix to Rosetta. GCC 4.3 should work.

        • #4532

            How do I tell scons to use a different version? The only other gcc I have is 3.4. I’ve tried scons bin mode=release compiler=gcc34, but that appears to have no effect and it still dies when it gets to ResidueDecompositionCalculator.

          • #4533

              This seems to have worked:

              scons bin mode=release cxx=gcc cxx_ver=3.4

              However, are these of any concern?

              scons: Reading SConscript files …

              scons: warning: The Options class is deprecated; use the Variables class instead.%%%
              File “/usr/local.i386/Rosetta-3.1.0/rosetta_source/tools/build/”, line 45, in setup_build_options

              scons: warning: The EnumOption() function is deprecated; use the EnumVariable() function instead.%%%
              File “/usr/local.i386/Rosetta-3.1.0/rosetta_source/tools/build/”, line 53, in setup_build_options

              scons: warning: The ListOption() function is deprecated; use the ListVariable() function instead.%%%
              File “/usr/local.i386/Rosetta-3.1.0/rosetta_source/tools/build/”, line 61, in setup_build_options%%%
              svn: ‘.’ is not a working copy%%%
              scons: done reading SConscript files.%%%
              scons: Building targets …%%%

            • #4536

                Those warnings are not important. The scons warnings are caused by python versus scons versioning issues; the svn warning is leftover svn hooks from the developer version. Neither will cause trouble.

              • #4542

                  All was going well, until the compiler reached

                  cc1plus: out of memory allocating 9608 bytes after a total of 46723072 bytes

                  It ran out of memory … ?

                • #4543

                    Yup, that’s a lot of memory. How much is on your hardware? Are you compiling in release (smaller) or debug (not so small?)

                    We can also try gutting some of the ArchiveManager stuff from compiliation. It’s not depended upon by much else in the code; turning it off will prevent you from running certain specialized code on BlueGenes (which I doubt you’re doing)

                  • #4545

                      I compiled with:

                      scons bin mode=release cxx=gcc cxx_ver=3.4

                      The computer I’m compiling on has 3GB of RAM. That number looks like 46MB, to me so I’m not sure I understand why it didn’t work. My intention is to use Rosetta 3.1 in my CS-Rosetta calculations following the Bax/NIH procedure, so it’s kindof a black box to me and I’m not really sure which components I’m actually using.

                      Is there a smaller than release mode of install? Or is there a way to just install the components for what I need?

                      This is what it’s using to try to compile it:

                      g++34 -o build/src/release/linux/2.6/32/x86/gcc/3.4/protocols/jd2/archive/ArchiveManager.os -c -std=c++98 -pipe -ffor-scope -W -Wall -pedantic -Wno-long-long –param inline-unit-growth=1000 –param large-function-growth=50000 -malign-double -march=pentium4 -O3 -ffast-math -funroll-loops -finline-functions -finline-limit=20000 -s -Wno-unused-variable -fPIC -DNDEBUG -Isrc -Iexternal/include -Isrc/platform/linux/32/gcc/3.4 -Isrc/platform/linux/32/gcc -Isrc/platform/linux/32 -Isrc/platform/linux -Iexternal/boost_1_38_0 -I/usr/local/include -I/usr/include src/protocols/jd2/archive/

                      I’m trying again and 13 min in and it’s at ~30% of the 3GB.

                    • #4546

                        I don’t have a way to reproduce it with 3.4 at hand. I believe our primary testing server runs 3.4.6 (I use 4.3 mostly).

                        We can play games by cutting bits and pieces out, but ultimately you can’t cut the libraries down by much without a lot of manual effort. As you mention, I’m not sure why it says 46 MB is a problem. I’ve compiled on machines with 2 GB, compiling two threads at a time, with no problem.

                        Off the top of my head, to remove ArchiveManager you’ll need to remove those files from protocols.src.settings (add # in front of those files; preferably everything in its immediate directory “archive” *but NOT all of JD2*) and then modify protocols/jd2/JobDistributorFactory to remove all references to ArchiveManager and its sibling classes (again, everything from “archive”). You might have to start killing code elsewhere to get it to compile after that; it could get ugly fast. Hopefully not.

                        You said you re-tried this – did it work? 30% of 3GB in cached files is expected memory usage for one threaded compiling.

                      • #4547

                          No, unfortunately. I got the same thing:

                          cc1plus: out of memory allocating 9608 bytes after a total of 46829568 bytes

                          I’ll be away for 3 weeks, so I’ll have to get back in about September. Thanks for the help so far.

                        • #4593

                            Insrtalling Rosetta scons bin mode=release cxx=gcc cxx_ver=4.4 , finnally I have this :

                            release/linux/2.6/32/x86/gcc/utility/options/keys/OptionKeys.os -Llib -Lexternal/lib -Lbuild/src/release/linux/2.6/32/x86/gcc -Lsrc -L/usr/local/lib -L/usr/lib -lObjexxFCL -lz
                            /usr/bin/ld: cannot find -lz
                            collect2: ld returned 1 exit status
                            scons: *** [build/src/release/linux/2.6/32/x86/gcc/] Error 1
                            scons: building terminated because of errors.

                            Do you know how I can solve it??

                          • #4594

                              This is the key part of the message:

                              > /usr/bin/ld: cannot find -lz

                              On Linux, you need to install the package zlib-dev (or maybe libz-dev), i forget). Look for it in your package manager.

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