Hello,
I'm building plasma-desktop 5.9.3 on Linux and am seeing compiler failures
because of -Werror=return-type, in boost functions. See below for an example.
I'm using boost 1.59.0, gcc 6.3 and Qt 5.8.0 (all installed in /opt/local).
I've included one of the warnings I also see, in case they're related.
Is there anything obvious I should look for in my set-up before reporting this
as a bug?
R.
%> cd .../work/build/kcms/keyboard && /usr/bin/c++ -DKCOREADDONS_LIB
-DKGUIADDONS_LIB -DQT_CONCURRENT_LIB -DQT_CORE_LIB -DQT_DBUS_LIB
-DQT_DISABLE_DEPRECATED_BEFORE=0 -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_NO_DEBUG
-DQT_NO_URL_CAST_FROM_STRING -DQT_WIDGETS_LIB -DQT_X11EXTRAS_LIB -DQT_XML_LIB
-DTRANSLATION_DOMAIN=\"kcmkeyboard\" -D_GNU_SOURCE -D_LARGEFILE64_SOURCE
-Dkcm_keyboard_EXPORTS -I.../work/build/kcms/keyboard
-I.../work/plasma-desktop-5.9.3/kcms/keyboard -I.../work/build
-I.../work/plasma-desktop-5.9.3/kcms/keyboard/preview -isystem
/opt/local/include/qt5 -isystem /opt/local/include/qt5/QtConcurrent -isystem
/opt/local/include/qt5/QtCore -isystem
/opt/local/share/qt5/mkspecs/linux-g++-64 -isystem
/opt/local/include/qt5/QtWidgets -isystem /opt/local/include/qt5/QtGui -isystem
/opt/local/include/qt5/QtX11Extras -isystem /opt/local/include/qt5/QtXml
-isystem /opt/local/include/KF5/KCMUtils -isystem /opt/local/include/KF5
-isystem /opt/local/include/KF5/KConfigWidgets -isystem
/opt/local/include/KF5/KCodecs -isystem /opt/local/include/KF5/KWidgetsAddons
-isystem /opt/local/include/KF5/KConfigGui -isystem
/opt/local/include/KF5/KConfigCore -isystem /opt/local/include/KF5/KAuth
-isystem /opt/local/include/KF5/KCoreAddons -isystem
/opt/local/include/KF5/KService -isystem /opt/local/include/KF5/KGlobalAccel
-isystem /opt/local/include/qt5/QtDBus -isystem /opt/local/include/KF5/KI18n
-isystem /opt/local/include/KF5/KIOCore -isystem
/opt/local/include/KF5/KIOWidgets -isystem /opt/local/include/KF5/KJobWidgets
-isystem /opt/local/include/qt5/QtNetwork -isystem
/opt/local/include/KF5/KCompletion -isystem
/opt/local/include/KF5/KWindowSystem -isystem /opt/local/include/KF5/Plasma
-isystem /opt/local/include/KF5/KPackage -isystem
/opt/local/include/KF5/KXmlGui -isystem /opt/local/include/KF5/KGuiAddons
-isystem /opt/local/include/KF5/KIconThemes -O3 -g -DNDEBUG -m64 -std=c++0x
-fno-operator-names -fno-exceptions -Wall -Wextra -Wcast-align
-Wchar-subscripts -Wformat-security -Wno-long-long -Wpointer-arith -Wundef
-Wnon-virtual-dtor -Woverloaded-virtual -Werror=return-type -fPIC
-fvisibility=hidden -fvisibility-inlines-hidden -fPIC -std=gnu++11 -o
CMakeFiles/kcm_keyboard.dir/preview/kbpreviewframe.cpp.o -c
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/kbpreviewframe.cpp
In file included from /opt/local/include/boost/proto/proto_fwd.hpp:15:0,
from /opt/local/include/boost/phoenix/core/limits.hpp:26,
from
/opt/local/include/boost/spirit/include/phoenix_limits.hpp:11,
from
/opt/local/include/boost/spirit/home/support/meta_compiler.hpp:16,
from
/opt/local/include/boost/spirit/home/qi/meta_compiler.hpp:14,
from
/opt/local/include/boost/spirit/home/qi/action/action.hpp:14,
from /opt/local/include/boost/spirit/home/qi/action.hpp:14,
from /opt/local/include/boost/spirit/home/qi.hpp:14,
from /opt/local/include/boost/spirit/include/qi.hpp:16,
from
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/geometry_parser.h:24,
from
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/kbpreviewframe.cpp:22:
/opt/local/include/boost/fusion/support/config.hpp:93:22: warning:
"BOOST_GCC_WORKAROUND_GUARD" is not defined [-Wundef]
#if BOOST_WORKAROUND(BOOST_GCC, < 40700)
^
/opt/local/include/boost/detail/workaround.hpp:234:12: note: in definition of
macro ‘BOOST_WORKAROUND’
((symbol ## _WORKAROUND_GUARD + 0 == 0) && \
^~~~~~
/opt/local/include/boost/mpl/aux_/config/operators.hpp:27:29: warning:
"__NVCC___WORKAROUND_GUARD" is not defined [-Wundef]
|| BOOST_WORKAROUND(__NVCC__, BOOST_TESTED_AT(1)) \
^
/opt/local/include/boost/detail/workaround.hpp:234:12: note: in definition of
macro ‘BOOST_WORKAROUND’
((symbol ## _WORKAROUND_GUARD + 0 == 0) && \
^~~~~~
/opt/local/include/boost/mpl/aux_/config/operators.hpp:27:29: warning:
"__NVCC__" is not defined [-Wundef]
|| BOOST_WORKAROUND(__NVCC__, BOOST_TESTED_AT(1)) \
^
/opt/local/include/boost/detail/workaround.hpp:235:11: note: in definition of
macro ‘BOOST_WORKAROUND’
(symbol != 0) && (1 % (( (symbol test) ) + 1)))
^~~~~~
<<SNIP>>
In file included from
/opt/local/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:23:0,
from /opt/local/include/boost/iostreams/stream_buffer.hpp:22,
from /opt/local/include/boost/iostreams/stream.hpp:21,
from
/opt/local/include/boost/spirit/home/qi/stream/detail/iterator_source.hpp:14,
from
/opt/local/include/boost/spirit/home/qi/stream/stream.hpp:16,
from /opt/local/include/boost/spirit/home/qi/stream.hpp:15,
from /opt/local/include/boost/spirit/home/qi.hpp:30,
from /opt/local/include/boost/spirit/include/qi.hpp:16,
from
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/geometry_parser.h:24,
from
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/kbpreviewframe.cpp:22:
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp: In
static member function ‘static std::streampos
boost::iostreams::detail::device_wrapper_impl<boost::iostreams::any_tag>::seek(Device&,
boost::iostreams::stream_offset, std::ios_base::seekdir,
std::ios_base::openmode, boost::iostreams::any_tag)’:
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp:145:5:
error: no return statement in function returning non-void [-Werror=return-type]
}
^
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp: In
static member function ‘static std::streamsize
boost::iostreams::detail::device_wrapper_impl<boost::iostreams::input>::write(Device&,
Dummy*, const typename boost::iostreams::char_type_of<T>::type*,
std::streamsize)’:
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp:179:45:
error: no return statement in function returning non-void [-Werror=return-type]
BOOST_IOSTREAMS_UNREACHABLE_RETURN(0) }
^
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp: In
static member function ‘static std::streamsize
boost::iostreams::detail::device_wrapper_impl<boost::iostreams::output>::read(Device&,
Dummy*, typename boost::iostreams::char_type_of<T>::type*, std::streamsize)’:
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp:188:45:
error: no return statement in function returning non-void [-Werror=return-type]
BOOST_IOSTREAMS_UNREACHABLE_RETURN(0) }
^
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp: In
static member function ‘static std::streampos
boost::iostreams::detail::flt_wrapper_impl<boost::iostreams::any_tag>::seek(Filter&,
Device*, boost::iostreams::stream_offset, std::ios_base::seekdir,
std::ios_base::openmode, boost::iostreams::any_tag)’:
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp:215:45:
error: no return statement in function returning non-void [-Werror=return-type]
BOOST_IOSTREAMS_UNREACHABLE_RETURN(0) }
^
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp: In
static member function ‘static std::streamsize
boost::iostreams::detail::flt_wrapper_impl<boost::iostreams::input>::write(Filter&,
Sink*, const typename boost::iostreams::char_type_of<T>::type*,
std::streamsize)’:
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp:263:45:
error: no return statement in function returning non-void [-Werror=return-type]
BOOST_IOSTREAMS_UNREACHABLE_RETURN(0) }
^
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp: In
static member function ‘static std::streamsize
boost::iostreams::detail::flt_wrapper_impl<boost::iostreams::output>::read(Filter&,
Source*, typename boost::iostreams::char_type_of<T>::type*, std::streamsize)’:
/opt/local/include/boost/iostreams/detail/adapter/concept_adapter.hpp:272:45:
error: no return statement in function returning non-void [-Werror=return-type]
BOOST_IOSTREAMS_UNREACHABLE_RETURN(0) }
^
In file included from /opt/local/include/boost/iostreams/detail/buffer.hpp:22:0,
from
/opt/local/include/boost/iostreams/detail/streambuf/indirect_streambuf.hpp:24,
from /opt/local/include/boost/iostreams/stream_buffer.hpp:22,
from /opt/local/include/boost/iostreams/stream.hpp:21,
from
/opt/local/include/boost/spirit/home/qi/stream/detail/iterator_source.hpp:14,
from
/opt/local/include/boost/spirit/home/qi/stream/stream.hpp:16,
from /opt/local/include/boost/spirit/home/qi/stream.hpp:15,
from /opt/local/include/boost/spirit/home/qi.hpp:30,
from /opt/local/include/boost/spirit/include/qi.hpp:16,
from
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/geometry_parser.h:24,
from
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/kbpreviewframe.cpp:22:
/opt/local/include/boost/iostreams/checked_operations.hpp: In static member
function ‘static bool
boost::iostreams::detail::read_write_if_impl<boost::iostreams::input>::put(T&,
typename boost::iostreams::char_type_of<T>::type)’:
/opt/local/include/boost/iostreams/checked_operations.hpp:99:49: error: no
return statement in function returning non-void [-Werror=return-type]
BOOST_IOSTREAMS_UNREACHABLE_RETURN(false) }
^
/opt/local/include/boost/iostreams/checked_operations.hpp: In static member
function ‘static std::streamsize
boost::iostreams::detail::read_write_if_impl<boost::iostreams::input>::write(T&,
const typename boost::iostreams::char_type_of<T>::type*, std::streamsize)’:
/opt/local/include/boost/iostreams/checked_operations.hpp:105:45: error: no
return statement in function returning non-void [-Werror=return-type]
BOOST_IOSTREAMS_UNREACHABLE_RETURN(0) }
^
/opt/local/include/boost/iostreams/checked_operations.hpp: In static member
function ‘static std::streamsize
boost::iostreams::detail::read_write_if_impl<boost::iostreams::output>::read(T&,
typename boost::iostreams::char_type_of<T>::type*, std::streamsize)’:
/opt/local/include/boost/iostreams/checked_operations.hpp:119:45: error: no
return statement in function returning non-void [-Werror=return-type]
BOOST_IOSTREAMS_UNREACHABLE_RETURN(0) }
^
/opt/local/include/boost/iostreams/checked_operations.hpp: In static member
function ‘static std::streampos
boost::iostreams::detail::seek_if_impl<boost::iostreams::any_tag>::seek(T&,
boost::iostreams::stream_offset, std::ios_base::seekdir,
std::ios_base::openmode)’:
/opt/local/include/boost/iostreams/checked_operations.hpp:149:60: error: no
return statement in function returning non-void [-Werror=return-type]
BOOST_IOSTREAMS_UNREACHABLE_RETURN(std::streampos()) }
^
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/kbpreviewframe.cpp: In
member function ‘void KbPreviewFrame::drawKeySymbols(QPainter&, QPoint*, const
GShape&, const QString&)’:
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/kbpreviewframe.cpp:106:46:
warning: ‘constexpr typename std::enable_if<std::is_same<typename
std::remove_cv< <template-parameter-1-1> >::type, int>::value, bool>::type
operator==(QChar, T) [with T = int; typename
std::enable_if<std::is_same<typename std::remove_cv< <template-parameter-1-1>
>::type, int>::value, bool>::type = bool]’ is deprecated: don't compare ints to
QChars, compare them to QChar::unicode() instead [-Wdeprecated-declarations]
QColor txtColor = txt[0] == -1 ? unknownSymbolColor :
color[level];
^
In file included from /opt/local/include/qt5/QtCore/qhashfunctions.h:44:0,
from /opt/local/include/qt5/QtCore/qlist.h:47,
from /opt/local/include/qt5/QtCore/qmap.h:44,
from /opt/local/include/qt5/QtCore/QMap:1,
from
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/keyaliases.h:21,
from
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/keyboardlayout.h:22,
from
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/kbpreviewframe.h:21,
from
.../work/plasma-desktop-5.9.3/kcms/keyboard/preview/kbpreviewframe.cpp:20:
/opt/local/include/qt5/QtCore/qchar.h:586:1: note: declared here
operator==(QChar lhs, T rhs) Q_DECL_NOEXCEPT { return lhs == QChar(rhs); }
^~~~~~~~
cc1plus: some warnings being treated as errors