[MacPorts] #69171: pulseaudio @17.0: Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module)

MacPorts noreply at macports.org
Fri Feb 9 16:31:46 UTC 2024


#69171: pulseaudio @17.0: Can't locate XML/Parser.pm in @INC (you may need to
install the XML::Parser module)
-------------------------+-------------------------------
  Reporter:  ryandesign  |      Owner:  Ionic
      Type:  defect      |     Status:  assigned
  Priority:  Normal      |  Milestone:
 Component:  ports       |    Version:
Resolution:              |   Keywords:  lion mountainlion
      Port:  pulseaudio  |
-------------------------+-------------------------------

Comment (by ryandesign):

 Replying to [comment:7 ShadSterling]:
 > I thought being able to have meson up to date meant it isn't missing any
 of it's dependencies

 The port that is missing the dependency could be pulseaudio if it is
 something in pulseaudio's build process that is using XML::Parser, or it
 could be meson if pulseaudio is merely running a tool that is provided by
 meson and it is that meson tool that is using XML::Parser. Whoever updated
 pulseaudio last probably already had p5.34-xml-parser installed and so
 didn't notice the missing dependency in whichever port is missing it.

 > p5.36-xml-parser doesn't exist

 Oh right, of course. There aren't any p5.36-* ports yet. That's #67830.

 > uninstalling *5.36* does resolve the error
 >
 > so I guess it's something like pulseaudio can't be installed if you have
 a version of perl installed which is newer than the newest version of
 *-xml-parser you have installed

 Almost. It's not about having other versions of perl installed. It's about
 having the perl5 port installed with a particular perl variant and not
 having that perl version's corresponding p5.*-xml-parser subport
 installed.

 Looking at the build error more closely, I see it's happening when running
 the script man/xmltoman which is in the pulseaudio source code. That
 script begins with:

 {{{
 #!/usr/bin/perl -w
 …
 use XML::Parser;
 }}}

 So pulseaudio is the port that's missing the p5.*-xml-parser dependency
 and the code to arrange for the correct perl version to be used. In fact,
 the port used to have that, but it was removed with the most recent update
 in [a66e323ee48dcb954f60f89803885f3929a1f9c4/macports-ports]. So it needs
 to be put back again.

-- 
Ticket URL: <https://trac.macports.org/ticket/69171#comment:8>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list