Hi all,

Since I obviously won't succeed with this so easily, I'm opening a thread on 
the subject. Many thanks to all who can help me.

System with AIX 5.3 / xlC 9.0 (yeah old as sh*t, but I can't do anything about 
that soon) and Boost 1.34, building qpidc-0.20.
Anyway, I managed to go over some obstacles so far, but currently I'm stuck 
with the following error(s):
[ 20%] Building CXX object 
src/CMakeFiles/qpidcommon.dir/qpid/sys/posix/AsynchIO.o
"/achinst/atk/qpid_build/qpidc-0.20/src/qpid/sys/posix/AsynchIO.cpp", line 
96.5: 1540-0218 (S) The call does not match any parameter list for 
"DispatchHandle::DispatchHandle".
"/achinst/atk/qpid_build/qpidc-0.20/src/qpid/sys/DispatchHandle.h", line 88.24: 
1540-1283 (I) "qpid::sys::DispatchHandle::DispatchHandle(const 
qpid::sys::IOHandle &, Callback, Callback, Callback)" is not a viable candidate.
"/achinst/atk/qpid_build/qpidc-0.20/src/qpid/sys/posix/AsynchIO.cpp", line 
96.12: 1540-0256 (I) A parameter of type "const qpid::sys::IOHandle &" cannot 
be initialized with an expression of type "const qpid::sys::Socket".
"/achinst/atk/qpid_build/qpidc-0.20/src/qpid/sys/posix/AsynchIO.cpp", line 
168.5: 1540-0218 (S) The call does not match any parameter list for 
"DispatchHandle::DispatchHandle".
"/achinst/atk/qpid_build/qpidc-0.20/src/qpid/sys/DispatchHandle.h", line 88.24: 
1540-1283 (I) "qpid::sys::DispatchHandle::DispatchHandle(const 
qpid::sys::IOHandle &, Callback, Callback, Callback)" is not a viable candidate.
"/achinst/atk/qpid_build/qpidc-0.20/src/qpid/sys/posix/AsynchIO.cpp", line 
168.20: 1540-0256 (I) A parameter of type "const qpid::sys::IOHandle &" cannot 
be initialized with an expression of type "const qpid::sys::Socket".
"/achinst/atk/qpid_build/qpidc-0.20/src/qpid/sys/posix/AsynchIO.cpp", line 
306.5: 1540-0218 (S) The call does not match any parameter list for 
"DispatchHandle::DispatchHandle".
"/achinst/atk/qpid_build/qpidc-0.20/src/qpid/sys/DispatchHandle.h", line 88.24: 
1540-1283 (I) "qpid::sys::DispatchHandle::DispatchHandle(const 
qpid::sys::IOHandle &, Callback, Callback, Callback)" is not a viable candidate.
"/achinst/atk/qpid_build/qpidc-0.20/src/qpid/sys/posix/AsynchIO.cpp", line 
306.20: 1540-0256 (I) A parameter of type "const qpid::sys::IOHandle &" cannot 
be initialized with an expression of type "const qpid::sys::Socket".

So, DispatchHandle has a constructor:
QPID_COMMON_EXTERN DispatchHandle(const IOHandle& h, Callback rCb, Callback 
wCb, Callback dCb);

which takes IOHandle& as the first parameter, however in AsynchIO, the 
constructor is called with the qpid::sys::Socket e.g:
AsynchAcceptor::AsynchAcceptor(const Socket& s, AsynchAcceptor::Callback 
callback) :
    acceptedCallback(callback),
    handle(s, boost::bind(&AsynchAcceptor::readable, this, _1), 0, 0),
    socket(s)

(Member "handle" is of type DispatchHandle.)

The thing is, IOHandle and Socket are totally unrelated. For this to ever work, 
Socket would need to extend IOHandle (or one of its derived classes). So the 
question is, how does this compile anywhere? :)

Regards,
Ales

Reply via email to