Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
qpid-cpp-1.38.0
-
None
-
Gentoo x64, GCC 8.1
Description
[ 22%] Building CXX object src/CMakeFiles/qpidcommon.dir/qpid/sys/epoll/EpollPoller.cpp.o
/home/chrisr/projects/qpid/qpid-cpp/source/src/qpid/SaslFactory.cpp: In constructor ‘qpid::CyrusSasl::CyrusSasl(const string&, const string&, const string&, const string&, int, int, bool)’:
/home/chrisr/projects/qpid/qpid-cpp/source/src/qpid/SaslFactory.cpp:215:46: error: cast between incompatible function types from ‘int (void*, int, const char*, unsigned int)’ to ‘int ()’ [-Werror=cast-function-type]
callbacks[i].proc = (CallbackProc*) &getUserFromSettings;
^~~~~~~~~~~~~~~~~~~
/home/chrisr/projects/qpid/qpid-cpp/source/src/qpid/SaslFactory.cpp:223:50: error: cast between incompatible function types from ‘int (sasl_conn_t*, void*, int, sasl_secret_t**)’
Unknown macro: {aka ‘int (sasl_conn*, void*, int, sasl_secret**)’}
to ‘int ()’ [-Werror=cast-function-type]
callbacks[i].proc = (CallbackProc*) &getPasswordFromSettings;
^~~~~~~~~~~~~~~~~~~~~~
Given the constrains of the SASL library interface, the only obvious solution for this I can think of is to add "-Wno-error=cast-function-type" to the compiler settings.