vgteam / vg

tools for working with genome variation graphs
https://biostars.org/tag/vg/
Other
1.12k stars 194 forks source link

Boost-subset fails to build on RHEL #2089

Closed edawson closed 5 years ago

edawson commented 5 years ago

Please describe:

  1. What you were trying to do Build vg (master branch)

  2. What you wanted to happen Type make; get an executable some minutes later

  3. What actually happened boost-subset fails to build, causing vowpal-wabbit build to be broken but apparently there, which causes main.o linking to fail because recalibrate_main.o depends on VW.

  4. What data and command line to use to make the problem recur, if applicable NIH Biowulf, RHEL, attempted with GCC 6.4.0 and 7.4.0

. ./source_me.sh && cd deps/boost-subset && ./bootstrap.sh --with-libraries=program_options --libdir=/spin1/users/dawsonet/vg/lib --includedir=/spin1/users/dawsonet/vg/include  && ./b2 --ignore-site-config --link=static install
Building Boost.Build engine with toolset gcc... tools/build/src/engine/bin.linuxx86_64/b2
Unicode/ICU support for Boost.Regex?... /usr
Backing up existing Boost.Build configuration in project-config.jam.16
Generating Boost.Build configuration in project-config.jam...

Bootstrapping is done. To build, run:

    ./b2

To adjust configuration, edit 'project-config.jam'.
Further information:

   - Command line help:
     ./b2 --help

   - Getting started guide:
     http://www.boost.org/more/getting_started/unix-variants.html

   - Boost.Build documentation:
     http://www.boost.org/build/doc/html/index.html

/spin1/users/dawsonet/vg/deps/boost-subset/libs/predef/check/../tools/check/predef.jam:46: Unescaped special character in argument $(language)::$(expression)
Performing configuration checks

    - default address-model    : 64-bit (cached)
    - default architecture     : x86 (cached)

Component configuration:

    - atomic                   : not building
    - chrono                   : not building
    - filesystem               : not building
    - program_options          : building
    - regex                    : not building
    - system                   : not building
    - test                     : not building
    - timer                    : not building

...patience...
...found 6136 targets...
...updating 8 targets...
gcc.compile.c++ bin.v2/libs/program_options/build/gcc-6.4.0/release/link-static/threading-multi/cmdline.o
libs/program_options/src/cmdline.cpp: In member function ‘void boost::program_options::detail::cmdline::init(const std::vector<std::__cxx11::basic_string<char> >&)’:
libs/program_options/src/cmdline.cpp:106:15: error: ‘class boost::program_options::detail::cmdline’ has no member named ‘m_args’; did you mean ‘args’?
         this->m_args = args;
               ^~~~~~
libs/program_options/src/cmdline.cpp: In member function ‘std::vector<boost::program_options::basic_option<char> > boost::program_options::detail::cmdline::run()’:
libs/program_options/src/cmdline.cpp:247:32: error: ‘m_args’ was not declared in this scope
         vector<string>& args = m_args;
                                ^~~~~~

    "g++"   -m64 -pthread -O3 -finline-functions -Wno-inline -Wall  -DBOOST_ALL_NO_LIB=1 -DNDEBUG  -I"." -c -o "bin.v2/libs/program_options/build/gcc-6.4.0/release/link-static/threading-multi/cmdline.o" "libs/program_options/src/cmdline.cpp"

...failed gcc.compile.c++ bin.v2/libs/program_options/build/gcc-6.4.0/release/link-static/threading-multi/cmdline.o...
...skipped <pbin.v2/libs/program_options/build/gcc-6.4.0/release/link-static/threading-multi>libboost_program_options.a(clean) for lack of <pbin.v2/libs/program_options/build/gcc-6.4.0/release/link-static/threading-multi>cmdline.o...
...skipped <pbin.v2/libs/program_options/build/gcc-6.4.0/release/link-static/threading-multi>libboost_program_options.a for lack of <pbin.v2/libs/program_options/build/gcc-6.4.0/release/link-static/threading-multi>cmdline.o...
...skipped <p/spin1/users/dawsonet/vg/lib>libboost_program_options.a for lack of <pbin.v2/libs/program_options/build/gcc-6.4.0/release/link-static/threading-multi>libboost_program_options.a...
gcc.compile.c++ bin.v2/libs/program_options/build/gcc-6.4.0/release/threading-multi/cmdline.o
libs/program_options/src/cmdline.cpp: In member function ‘void boost::program_options::detail::cmdline::init(const std::vector<std::__cxx11::basic_string<char> >&)’:
libs/program_options/src/cmdline.cpp:106:15: error: ‘class boost::program_options::detail::cmdline’ has no member named ‘m_args’; did you mean ‘args’?
         this->m_args = args;
               ^~~~~~
libs/program_options/src/cmdline.cpp: In member function ‘std::vector<boost::program_options::basic_option<char> > boost::program_options::detail::cmdline::run()’:
libs/program_options/src/cmdline.cpp:247:32: error: ‘m_args’ was not declared in this scope
         vector<string>& args = m_args;
                                ^~~~~~

    "g++"   -fPIC -m64 -pthread -O3 -finline-functions -Wno-inline -Wall  -DBOOST_ALL_NO_LIB=1 -DBOOST_PROGRAM_OPTIONS_DYN_LINK=1 -DNDEBUG  -I"." -c -o "bin.v2/libs/program_options/build/gcc-6.4.0/release/threading-multi/cmdline.o" "libs/program_options/src/cmdline.cpp"

...failed gcc.compile.c++ bin.v2/libs/program_options/build/gcc-6.4.0/release/threading-multi/cmdline.o...
...skipped <pbin.v2/libs/program_options/build/gcc-6.4.0/release/threading-multi>libboost_program_options.so.1.67.0 for lack of <pbin.v2/libs/program_options/build/gcc-6.4.0/release/threading-multi>cmdline.o...
...skipped <p/spin1/users/dawsonet/vg/lib>libboost_program_options.so.1.67.0 for lack of <pbin.v2/libs/program_options/build/gcc-6.4.0/release/threading-multi>libboost_program_options.so.1.67.0...
...skipped <p/spin1/users/dawsonet/vg/lib>libboost_program_options.so for lack of <p/spin1/users/dawsonet/vg/lib>libboost_program_options.so.1.67.0...
...failed updating 2 targets...
...skipped 6 targets...
make: *** [lib/libboost_program_options.a] Error 1
edawson commented 5 years ago

This appears to be a problem only if there's another version of boost out there in the environment somewhere. I'm not sure why it happens but it's resolved by unloading the boost module (any version). Closing.