Opened 8 years ago
Last modified 6 years ago
#53075 closed defect
zmq @4.2.0 does not build on a PPC running OS X 10.5.8 — at Version 3
Reported by: | josephsacco | Owned by: | merijn@… |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | leopard powerpc | Cc: | michaelld (Michael Dickens), stromnov (Andrey Stromnov) |
Port: | zmq |
Description (last modified by ryandesign (Ryan Carsten Schmidt))
The latest version of zmq does not build on a PPC running leopard. The previous version, 4.1.6_0, builds without incident.
The problem is CLOCK_MONOTONIC is not defined in time.h for OSX 10.5.8[see snippet of build output below].
-Joseph
src/clock.cpp: In static member function 'static uint64_t zmq::clock_t::rdtsc()': src/clock.cpp:243:19: error: 'CLOCK_MONOTONIC' was not declared in this scope clock_gettime(CLOCK_MONOTONIC, &ts); ^~~~~~~~~~~~~~~ src/clock.cpp:243:39: error: 'clock_gettime' was not declared in this scope clock_gettime(CLOCK_MONOTONIC, &ts); ^
Change History (3)
comment:1 Changed 8 years ago by kencu (Ken)
comment:2 Changed 8 years ago by josephsacco
That was one of the first things I tried... :-) The problem is the macro CLOCK_MONOTONIC
is not defined for OS X 10.5.8.
The code for version 4.1.6 does something far more trivial. The method containing the offending line,
zmq::clock_t::rdsc()
returns 0 under OS X 10.5.8.
I am not sure what that means, or whether it is the right thing to do. If I make that change, zmq @4.2 builds.
For added amusement I then ran make check
. Of the 77 tests that ran, only 3 passed. The remaining 74 failed [illegal instruction: exit 132].
For comparison, I ran make check
on version 4.1.6. Of the 62 tests, 61 passed, and 1 failed [test_unbind_wildcard].
-Joseph
comment:3 Changed 8 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | michaelld stromnov added; stromnov@… removed |
---|---|
Description: | modified (diff) |
Owner: | set to merijn@… |
Status: | new → assigned |
The issue could be here <https://github.com/zeromq/libzmq/commit/0dfb32a2595e96bd5850987c7cab9a7936e672e8>
this guard block
might not be working correctly for Leopard, because Leopard should not be seeing that function call, it appears. Why don't you try forcing
alt_clock_gettime
to be used and see if that fixes it?for a quick one-off way to do that, port -v configure it, go into the source, and monkey with that file like so maybe:
then try building. If it doesn't work, look for other guards that might need fiddling with.