in reply to Polite way to ask status of bug regarding Time::HiRes and newer versions of Perl
Hi, you don't say so, but I assume you are building a threaded perl since that's where the problem occurs. Note that there are no issues with non-threaded perls.
The definitive story seems to be buried in that thread:
Versions of OS X prior to Sierra do not provide the functions clock_getres(), clock_gettime(), clock_nanosleep() and consequently versions of Time::HiRes prior to 1.9729 just disabled this functionality. perl5.22 @5.22.3 has 1.9726 so passes the test.
Time::HiRes 1.9729 then implemented emulation of clock_getres(), clock_gettime(), clock_nanosleep() on OS X platforms as an enhancement
Sierra however introduced clock_getres(), clock_gettime() but not clock_nanosleep() which broke the 1.9729 emulation code. This was fixed in Time::HiRes 1.9739 but perl5.24 @5.24.1 has 1.9733 so fails on Sierra.
perl5.25 @5.25.9 has 1.9741 with this Sierra fix (and a few others for Sierra and El Capitan) so passes the test.
So if you just make sure to install Time::HiRes >= v1.9741, you should be OK. Current version in CPAN is 1.9758. (Note that Time::HiRes is a so-called "dual-life" module that exists in Core and also standalone on CPAN. In such cases the CPAN version is usually more recent.)
I'm building a threaded perl now so I can test this, will report back. Will you too, please?
Hope this helps!
|
|---|