<div dir="ltr">A friend and I got to the bottom of this one.<div>Basically, it looks like YAML started using Mo in 0.75 so Squeeze wasn't affected (0.71). And then in 0.81, it moved to using Safe Mo with Mo::Inline adding Mo to the YAML structure.</div>
<div>The way that Mo::Inline works is to add the Mo namespace and functions to YAML::Mo. As part of that, it then effectively calls: (it's obfuscated so this is paraphrasing)</div><div>no Mo::builder;</div><div>no Mo::default;</div>
<div><br></div><div>Unfortunately, in order to call no MODNAME, that module needs to be installed and available. Since it's not packaged for debian, it isn't and the errors are thrown. I'm not sure what causes it to be used in our software.</div>
<div><br></div><div>So I guess this is technically a bug in Mo::Inline, but since we don't package that, and the bug exhibits in libyaml-perl, this is probably the most appropriate place to raise this issue.</div><div>
This issue has also been reported against YAML in CPAN: <a href="https://rt.cpan.org/Public/Bug/Display.html?id=75390">https://rt.cpan.org/Public/Bug/Display.html?id=75390</a></div><div><br></div><div>As a workaround you can add the following to your code:</div>
<div><br></div><div>BEGIN {</div><div><pre class="" style="font-size:12px;line-height:16px;font-family:Consolas,'Liberation Mono',Courier,monospace;word-wrap:break-word;width:744px;margin-top:0px;margin-bottom:0px;padding:0px;color:rgb(0,0,0)">
<div class="" id="file-gistfile1-txt-LC9">    $INC{'Mo/<a href="http://builder.pm">builder.pm</a>'} = 1;</div><div class="" id="file-gistfile1-txt-LC10">    $INC{'Mo/<a href="http://default.pm">default.pm</a>'} = 1;</div>
</pre></div><div>}</div></div>