nysus has asked for the wisdom of the Perl Monks concerning the following question:

I have a Mac running macOS 10.15 (Catalina) which has dropped support for 32 bit software. I think think this might be causing a problem with the installation of a perl module, Mac::FSEvents which appears to use a c extension. The module installs fine on an older Mac running macOS 10.13 (High Sierra).

I have filed an issue report with the maintainer. But I'm wondering if this is something I might be able to tackle. I know enough C to be dangerous. I'm not quite sure where to begin with this, though.

$PM = "Perl Monk's";
$MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate Priest Vicar";
$nysus = $PM . ' ' . $MCF;
Click here if you love Perl Monks

Replies are listed 'Best First'.
Re: Fixing CPAN module with c extension
by haukex (Archbishop) on Mar 14, 2020 at 19:00 UTC

    According to that bug report, you've only got one failing test. That test is checking for whether two events happening inside the same directory were coalesced into one. However, the File System Events Programming Guide says (emphasis mine):

    ... the file system events daemon also coalesces multiple notifications on a given directory if they occur in a short period of time. You will always receive at least one notification ... If an event in a directory occurs at about the same time as one or more events in a subdirectory of that directory, the events may be coalesced into a single event.

    It seems to me that the test is making an assumption it shouldn't, and it's probably safe to force install the module.

      Ok, cool. But any idea on why it might install fine on an older OS and not on Catalina? I know next to nothing about lower level FS stuff.

      $PM = "Perl Monk's";
      $MCF = "Most Clueless Friar Abbot Bishop Pontiff Deacon Curate Priest Vicar";
      $nysus = $PM . ' ' . $MCF;
      Click here if you love Perl Monks

        But any idea on why it might install fine on an older OS and not on Catalina?

        Nope, sorry. There is a possibility that something changed between those OS versions, but the specs document is pretty clear that the behavior causing the test failure is allowed, so unless I've missed something I still think the test is the problem here.