[Boost-bugs] [Boost C++ Libraries] #6790: program_options regression in 1.49.0?

Subject: [Boost-bugs] [Boost C++ Libraries] #6790: program_options regression in 1.49.0?
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2012-04-14 13:29:44


#6790: program_options regression in 1.49.0?
--------------------------------------------------------+-------------------
 Reporter: Konstantin Nikiforov <helllamer@…> | Owner: vladimir_prus
     Type: Bugs | Status: new
Milestone: To Be Determined | Component: program_options
  Version: Boost 1.49.0 | Severity: Regression
 Keywords: |
--------------------------------------------------------+-------------------
 Since 1.49, bitcoin unable to compile with error:

 {{{
 g++ -c -pthread -Wextra -Wno-sign-compare -Wno-char-subscripts \
 -Wno-invalid-offsetof -Wformat -Wformat-security -g -DNOPCH \
 -I/home/shahid/shares/install/linux/bitcoin/bitcoin \
 /src/bitcoin-0.6.0-linux/src/src -DUSE_UPNP=1 -DUSE_SSL \
 -fno-stack-protector -fstack-protector-all -Wstack-protector \
 -Wl,-z,relro -Wl,-z,now -D_FORTIFY_SOURCE=2 -march=native -O3 \
 -pipe -ftree-vectorize -msse -msse2 -msse3 -MMD -o obj/util.o \
 util.cpp

 In file included from util.cpp:8:0:
 /usr/include/boost/program_options/detail/config_file.hpp: In \
 instantiation of «bool
 boost::program_options::detail::basic_config_file_iterator<charT>::getline(std::string&)
 [with charT = char; std::string = std::basic_string<char>]»:
 util.cpp:1251:1: required from here
 /usr/include/boost/program_options/detail/config_file.hpp:163:13: error:
 Â«to_internal» was not declared
 in this scope, and no declarations were found by argument-
 dependent lookup at the point of instantiation [-fpermissive]
 In file included from
 /usr/include/boost/program_options/detail/parsers.hpp:9:0,
                  from /usr/include/boost/program_options/parsers.hpp:265,
                  from util.cpp:9:
 /usr/include/boost/program_options/detail/convert.hpp:75:34: замечание:
 Â«template<class T> std::vector<std::basic_string<char> >
 boost::program_options::to_internal(const std::vector<T>&)» declared here,
 later in the translation unit
 util.cpp: In function «void ShrinkDebugFile()»:
 util.cpp:963:41: warning: ignoring return value of «size_t fwrite(const
 void*, size_t, size_t, FILE*)», declared with attribute warn_unused_result
 [-Wunused-result]

 make: *** [obj/util.o] Error 1
 }}}

 Steps to reproduce:
 {{{
 wget bitcoin-0.6.0 from
 http://sourceforge.net/projects/bitcoin/files/Bitcoin/bitcoin-0.6.0/bitcoin-0.6.0-linux.tar.gz/download
 tar xf bitcoin-0.6.0-linux.tar.gz
 cd bitcoin-0.6.0-linux/src/src
 make -f makefile.unix bitcoind
 }}}
 Steps to avoid error:
  * Error can be avoided by removing #if around #include <.../convert.hpp>
 in /usr/include/boost/program_options/detail/config_file.hpp

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/6790>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:09 UTC