Opened 10 months ago
Closed 9 months ago
#69171 closed defect (fixed)
pulseaudio @17.0: Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module)
Reported by: | ryandesign (Ryan Carsten Schmidt) | Owned by: | Ionic (Mihai Moldovan) |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | |
Keywords: | lion mountainlion | Cc: | ShadSterling (Shad Sterling), slarew, barracuda156 |
Port: | pulseaudio |
Description
Not sure who is missing the p5.34-xml-parser dependency—pulseaudio or meson:
[53/446] /opt/local/bin/meson --internal exe --capture man/pacmd.1 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pacmd.1.xml FAILED: man/pacmd.1 /opt/local/bin/meson --internal exe --capture man/pacmd.1 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pacmd.1.xml --- stderr --- Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC contains: /opt/local/lib/perl5/site_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.34 /opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.34 /opt/local/lib/perl5/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/5.34) at /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. BEGIN failed--compilation aborted at /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. [54/446] /opt/local/bin/meson --internal exe --capture man/pasuspender.1 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pasuspender.1.xml FAILED: man/pasuspender.1 /opt/local/bin/meson --internal exe --capture man/pasuspender.1 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pasuspender.1.xml --- stderr --- Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC contains: /opt/local/lib/perl5/site_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.34 /opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.34 /opt/local/lib/perl5/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/5.34) at /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. BEGIN failed--compilation aborted at /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. [55/446] /opt/local/bin/meson --internal exe --capture man/default.pa.5 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/default.pa.5.xml FAILED: man/default.pa.5 /opt/local/bin/meson --internal exe --capture man/default.pa.5 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/default.pa.5.xml --- stderr --- Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC contains: /opt/local/lib/perl5/site_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.34 /opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.34 /opt/local/lib/perl5/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/5.34) at /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. BEGIN failed--compilation aborted at /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. [56/446] /opt/local/bin/meson --internal exe --capture man/pulse-cli-syntax.5 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pulse-cli-syntax.5.xml FAILED: man/pulse-cli-syntax.5 /opt/local/bin/meson --internal exe --capture man/pulse-cli-syntax.5 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pulse-cli-syntax.5.xml --- stderr --- Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC contains: /opt/local/lib/perl5/site_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.34 /opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.34 /opt/local/lib/perl5/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/5.34) at /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. BEGIN failed--compilation aborted at /opt/local/var/macports/build/_opt_bblocal_var_buildworker_ports_build_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. ninja: build stopped: subcommand failed.
Attachments (1)
Change History (10)
comment:1 Changed 9 months ago by ShadSterling (Shad Sterling)
Cc: | ShadSterling added |
---|
comment:2 Changed 9 months ago by ShadSterling (Shad Sterling)
Changed 9 months ago by ShadSterling (Shad Sterling)
comment:3 Changed 9 months ago by slarew
Cc: | slarew added |
---|
comment:4 follow-up: 6 Changed 9 months ago by barracuda156
Same error on 10.8.5:
[52/446] /opt/local/bin/msgfmt -o po/eu/LC_MESSAGES/pulseaudio.mo ../pulseaudio-17.0/po/eu.po [53/446] /opt/local/bin/meson --internal exe --capture man/pasuspender.1 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pasuspender.1.xml FAILED: man/pasuspender.1 /opt/local/bin/meson --internal exe --capture man/pasuspender.1 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pasuspender.1.xml --- stderr --- Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC contains: /opt/local/lib/perl5/site_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.34 /opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.34 /opt/local/lib/perl5/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/5.34) at /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. BEGIN failed--compilation aborted at /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. [54/446] /opt/local/bin/meson --internal exe --capture man/pulse-cli-syntax.5 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pulse-cli-syntax.5.xml FAILED: man/pulse-cli-syntax.5 /opt/local/bin/meson --internal exe --capture man/pulse-cli-syntax.5 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pulse-cli-syntax.5.xml --- stderr --- Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC contains: /opt/local/lib/perl5/site_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.34 /opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.34 /opt/local/lib/perl5/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/5.34) at /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. BEGIN failed--compilation aborted at /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. [55/446] /opt/local/bin/meson --internal exe --capture man/pacmd.1 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pacmd.1.xml FAILED: man/pacmd.1 /opt/local/bin/meson --internal exe --capture man/pacmd.1 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/pacmd.1.xml --- stderr --- Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC contains: /opt/local/lib/perl5/site_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.34 /opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.34 /opt/local/lib/perl5/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/5.34) at /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. BEGIN failed--compilation aborted at /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. [56/446] /opt/local/bin/meson --internal exe --capture man/default.pa.5 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/default.pa.5.xml FAILED: man/default.pa.5 /opt/local/bin/meson --internal exe --capture man/default.pa.5 -- /opt/local/bin/perl /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman man/default.pa.5.xml --- stderr --- Can't locate XML/Parser.pm in @INC (you may need to install the XML::Parser module) (@INC contains: /opt/local/lib/perl5/site_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/site_perl/5.34 /opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/vendor_perl/5.34 /opt/local/lib/perl5/5.34/darwin-thread-multi-2level /opt/local/lib/perl5/5.34) at /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. BEGIN failed--compilation aborted at /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/pulseaudio-17.0/man/xmltoman line 20. ninja: build stopped: subcommand failed. Command failed: cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_audio_pulseaudio/pulseaudio/work/build" && /opt/local/bin/ninja -j4 -v Exit code: 1
comment:5 Changed 9 months ago by barracuda156
Cc: | barracuda156 added |
---|
comment:6 follow-up: 7 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to ShadSterling:
I have meson up to date, so I think the problem is in pulseaudio
Being up to date isn't the issue. It's that one of these ports, whichever one is using XML::Parser, seems not to be declaring a dependency on it.
/opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level/XML/Parser.pm exists and contains package XML::Parser and is in @INC, so the obvious workaround of installing p5.34-xml-parser doesn't help
Your log mentions a perl5.36 path, not a perl5.34 path. So in addition to the dependency being missing from whichever port is missing it, code needs to be added to force the use of perl5.34. Does installing p5.36-xml-parser help?
Replying to barracuda156:
Same error on 10.8.5:
Your log mentions perl5.34 paths. Does installing p5.34-xml-parser help?
comment:7 follow-up: 8 Changed 9 months ago by ShadSterling (Shad Sterling)
Replying to ryandesign:
Replying to ShadSterling:
I have meson up to date, so I think the problem is in pulseaudio
Being up to date isn't the issue. It's that one of these ports, whichever one is using XML::Parser, seems not to be declaring a dependency on it.
I thought being able to have meson up to date meant it isn't missing any of it's dependencies
Does installing p5.36-xml-parser help?
p5.36-xml-parser doesn't exist
pulseaudio doesn't have variants to pick dependency versions
installing *-xml-parser does not resolve the error
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
comment:8 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)
Replying to 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.
comment:9 Changed 9 months ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
I have meson up to date, so I think the problem is in pulseaudio
/opt/local/lib/perl5/vendor_perl/5.34/darwin-thread-multi-2level/XML/Parser.pm exists and contains package XML::Parser and is in @INC, so the obvious workaround of installing p5.34-xml-parser doesn't help