On Mon, 2015-12-14 at 15:29 -0500, Bradley P. Orner wrote: > In trying to build qpid-*cpp 0.34 (Red Hat Linux v. 7.1, gcc v > 4.8.3), > I get the following error. *I've built boost 1.59 and installed it in > a > local directory /opt/ngwx/usr/local. >
The boost headers are sadly not "warning clean". Qpid is, and the default build flags treat warnings as errors to enforce it. GCC ignores warnings from "system headers", but because you installed boost in a non-standard location it is not treating it as system headers. From https://gcc.gnu.org/onlinedocs/cpp/System-Headers.html try using: -i/opt/ngwx/usr/local/include instead of -I/opt/ngwx/usr/local/include to tell GCC to treat these as system headers and ignore the warnings. Shout if that solves the problem and I'll add it to the README. > Any help would be most appreciated. > ** > Building CXX object > src/CMakeFiles/qpidcommon.dir/qpid/sys/ssl/check.cpp.o > In file included from > /opt/ngwx/usr/local/include/boost/format.hpp:49:0, > from > /opt/ngwx/qpid-cpp-0.34/src/qpid/sys/ssl/check.cpp:24: > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp: In > instantiation > of ‘void boost::io::detail::call_put_head(std::basic_ostream<_CharT, > _Traits>&, const void*) [with Ch = char; Tr = std::char_traits<char>; > T > = std::basic_string<char>]’: > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:135:47: > required > from ‘boost::io::detail::put_holder<Ch, Tr>::put_holder(T&) [with T > = > std::basic_string<char>; Ch = char; Tr = std::char_traits<char>]’ > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:307:95: > required > from ‘boost::basic_format<Ch, Tr, Alloc>& > boost::io::detail::feed(boost::basic_format<Ch, Tr, Alloc>&, T) [with > Ch > = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>; T > = > std::basic_string<char>&]’ > /opt/ngwx/usr/local/include/boost/format/format_class.hpp:68:68: > required from ‘boost::basic_format<Ch, Tr, Alloc>& > boost::basic_format<Ch, Tr, Alloc>::operator%(T&) [with T = > std::basic_string<char>; Ch = char; Tr = std::char_traits<char>; > Alloc = > std::allocator<char>]’ > /opt/ngwx/qpid-cpp-0.34/src/qpid/sys/ssl/check.cpp:50:37: required > from here > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:121:70: > error: > cast from type ‘const void*’ to type > ‘boost::remove_reference<std::basic_string<char> >::type* {aka > std::basic_string<char>*}’ casts away qualifiers [-Werror=cast-qual] > put_head(os, *(typename > ::boost::remove_reference<T>::type*)x); > ^ > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp: In > instantiation > of ‘void boost::io::detail::call_put_last(std::basic_ostream<_CharT, > _Traits>&, const void*) [with Ch = char; Tr = std::char_traits<char>; > T > = std::basic_string<char>]’: > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:135:47: > required > from ‘boost::io::detail::put_holder<Ch, Tr>::put_holder(T&) [with T > = > std::basic_string<char>; Ch = char; Tr = std::char_traits<char>]’ > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:307:95: > required > from ‘boost::basic_format<Ch, Tr, Alloc>& > boost::io::detail::feed(boost::basic_format<Ch, Tr, Alloc>&, T) [with > Ch > = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>; T > = > std::basic_string<char>&]’ > /opt/ngwx/usr/local/include/boost/format/format_class.hpp:68:68: > required from ‘boost::basic_format<Ch, Tr, Alloc>& > boost::basic_format<Ch, Tr, Alloc>::operator%(T&) [with T = > std::basic_string<char>; Ch = char; Tr = std::char_traits<char>; > Alloc = > std::allocator<char>]’ > /opt/ngwx/qpid-cpp-0.34/src/qpid/sys/ssl/check.cpp:50:37: required > from here > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:126:28: > error: > cast from type ‘const void*’ to type ‘std::basic_string<char>*’ > casts > away qualifiers [-Werror=cast-qual] > put_last(os, *(T*)x); > ^ > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp: In > instantiation > of ‘void boost::io::detail::call_put_head(std::basic_ostream<_CharT, > _Traits>&, const void*) [with Ch = char; Tr = std::char_traits<char>; > T > = int]’: > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:135:47: > required > from ‘boost::io::detail::put_holder<Ch, Tr>::put_holder(T&) [with T > = > int; Ch = char; Tr = std::char_traits<char>]’ > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:307:95: > required > from ‘boost::basic_format<Ch, Tr, Alloc>& > boost::io::detail::feed(boost::basic_format<Ch, Tr, Alloc>&, T) [with > Ch > = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>; T > = > int&]’ > /opt/ngwx/usr/local/include/boost/format/format_class.hpp:79:70: > required from ‘boost::basic_format<Ch, Tr, Alloc>& > boost::basic_format<Ch, Tr, Alloc>::operator%(int&) [with Ch = char; > Tr > = std::char_traits<char>; Alloc = std::allocator<char>]’ > /opt/ngwx/qpid-cpp-0.34/src/qpid/sys/ssl/check.cpp:76:44: required > from here > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:121:70: > error: > cast from type ‘const void*’ to type > ‘boost::remove_reference<int>::type* {aka int*}’ casts away > qualifiers > [-Werror=cast-qual] > put_head(os, *(typename > ::boost::remove_reference<T>::type*)x); > ^ > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp: In > instantiation > of ‘void boost::io::detail::call_put_last(std::basic_ostream<_CharT, > _Traits>&, const void*) [with Ch = char; Tr = std::char_traits<char>; > T > = int]’: > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:135:47: > required > from ‘boost::io::detail::put_holder<Ch, Tr>::put_holder(T&) [with T > = > int; Ch = char; Tr = std::char_traits<char>]’ > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:307:95: > required > from ‘boost::basic_format<Ch, Tr, Alloc>& > boost::io::detail::feed(boost::basic_format<Ch, Tr, Alloc>&, T) [with > Ch > = char; Tr = std::char_traits<char>; Alloc = std::allocator<char>; T > = > int&]’ > /opt/ngwx/usr/local/include/boost/format/format_class.hpp:79:70: > required from ‘boost::basic_format<Ch, Tr, Alloc>& > boost::basic_format<Ch, Tr, Alloc>::operator%(int&) [with Ch = char; > Tr > = std::char_traits<char>; Alloc = std::allocator<char>]’ > /opt/ngwx/qpid-cpp-0.34/src/qpid/sys/ssl/check.cpp:76:44: required > from here > /opt/ngwx/usr/local/include/boost/format/feed_args.hpp:126:28: > error: > cast from type ‘const void*’ to type ‘int*’ casts away qualifiers > [-Werror=cast-qual] > put_last(os, *(T*)x); > ^ > cc1plus: all warnings being treated as errors > make[3]: *** > [src/CMakeFiles/qpidcommon.dir/qpid/sys/ssl/check.cpp.o] > Error 1 > make[2]: *** [src/CMakeFiles/qpidcommon.dir/all] Error 2 > make[1]: *** [src/CMakeFiles/qpidclient.dir/rule] Error 2 > > > thanks, > Brad > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org For additional commands, e-mail: users-h...@qpid.apache.org