MacOS does not have pthread_condattr_setclock, Mach kernel has monotonic clock with different api sets, look at
https://stackoverflow.com/questions/11680461/monotonic-clock-on-osx https://chromium.googlesource.com/chromium/src/base/+/master/synchronization/condition_variable_posix.cc The easy way is to run broker on a docker container now On Wed, Jan 25, 2023 at 11:35 AM Robbie Gemmell <robbie.gemm...@gmail.com> wrote: > Even when it was at its most active, there was apparently not much > developer interest in supporting the qpid-cpp broker running on MacOS > (or accompanying Qpid::Messaging cpp client), with a concentration of > interest on Linux. A look at the qpid-cpp repository would show that > qpid-cpp is largely stagnant these days, so I doubt there will be much > traction on the MacOS subject now either. The old mailing list posts > would be your main avenue to any specifics. > > C++ client wise specifically, attention also shifted away from the old > Qpid::Messaging C++ client to the Qpid Proton C++ binding many years > ago. Proton does compile on MacOS, I believe it possibly uses libuv > there (in contrast to typical Linux usage), which might be how it > works at all...though again I think it would be fair to say the bulk > of dev interest is around Linux. > > Robbie > > On Thu, 19 Jan 2023 at 11:42, Emmett Brown <emmett@moda.tools> wrote: > > > > Hello, > > > > I was exploring the Qpid project yesterday and noticed that while it > doesn’t officially support macOS, there have been some online discussions > in the past related to building Proton C++ and, the Dispatch Router for > macOS. I think some of the issues had been test compilation failures. > > > > I haven’t noticed any such similar discussions related to building the > C++ Broker on macOS. I thought I’d run a quick build myself, to see how far > I got. > > > > Unsurprisingly, the build failed (I’m on Monterey 12.6.2). It was a > pthread API issue. I’ll past the output below if anyone has any idea how to > get past this, but my question is more generally, does anyone have any past > experience trying to get the C++ Broker to compile on macOS, or does anyone > know what the past sticking points were that prevented the C++ Broker (feel > free to include any of the other C++ products in your answer if you wish) > from being built on macOS? > > > > [ 20%] Building CXX object > src/CMakeFiles/qpidcommon.dir/qpid/sys/posix/Condition.cpp.o > > > /Users/ray/Developer/User/qpid-cpp-1.39.0/src/qpid/sys/posix/Condition.cpp:34:36: > error: use of undeclared identifier 'pthread_condattr_setclock'; did you > mean 'pthread_condattr_setpshared'? > > QPID_POSIX_ASSERT_THROW_IF(pthread_condattr_setclock(&attr, > CLOCK_MONOTONIC)); > > ^~~~~~~~~~~~~~~~~~~~~~~~~ > > pthread_condattr_setpshared > > > /Users/ray/Developer/User/qpid-cpp-1.39.0/src/qpid/sys/posix/check.h:45:63: > note: expanded from macro 'QPID_POSIX_ASSERT_THROW_IF' > > #define QPID_POSIX_ASSERT_THROW_IF(ERRNO) QPID_POSIX_THROW_IF(ERRNO) > > ^ > > > /Users/ray/Developer/User/qpid-cpp-1.39.0/src/qpid/sys/posix/check.h:41:17: > note: expanded from macro 'QPID_POSIX_THROW_IF' > > do { int e=(ERRNO); if (e) throw QPID_POSIX_ERROR(e); } while(0) > > ^ > > > /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX12.3.sdk/usr/include/pthread.h:325:5: > note: 'pthread_condattr_setpshared' declared here > > int pthread_condattr_setpshared(pthread_condattr_t *, int); > > ^ > > 1 error generated. > > make[2]: *** > [src/CMakeFiles/qpidcommon.dir/qpid/sys/posix/Condition.cpp.o] Error 1 > > make[1]: *** [src/CMakeFiles/qpidcommon.dir/all] Error 2 > > make: *** [all] Error 2 > > > > > > Kind regards, > > Emmett Brown > > > > emmett@moda.tools > > PGP: 2EB563D958F5CB8153AAED477867D39BF7356F59 > > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org > For additional commands, e-mail: users-h...@qpid.apache.org > >