[KinoSearch] ORQuery dislikes Perl Compiler classes
Marvin Humphrey
marvin at rectangular.com
Mon Jun 1 11:05:16 PDT 2009
On Mon, Jun 01, 2009 at 08:42:07AM -0700, webmasters at ctosonline.org wrote:
>
> On May 31, 2009, at 10:20 PM, Marvin Humphrey wrote:
>
> > Looks like the stock OS X Perl for 10.5 Leopard, right? I used to
> > use that, but once Apple stepped in the trap set by the stupid
> > Scalar::Util XS/ pure-Perl bifurcation and shipped the pure-Perl
> > Scalar::Util (minus weaken()), I've gotten a little more serious about
> > not messing with the system Perl.
>
> What actually happened was that you upgraded Scalar::Util (which
> modified files in /System), and then installed the 2009-001 security
> update, which replaces the XS bundle. So the .pm file couldn’t load
> the XS routines, since they were the wrong version.
Thanks for the clarification with regards to how the XS Scalar::Util failed to
load.
Ordinarily not being able to load an XS shared object would be a fatal error,
which Apple would hopefully have caught. However, in the case of
Scalar::Util, failing to load the XS shared object triggers a fallback to the
Pure-perl implementation -- which is incomplete. IMO, that's poor API design
-- a nasty little trap which you can guarantee some fraction of your users are
going to fall into.
> I had this same problem, and simply reinstalled Scalar::Util and IO. Apple
> fixed this in 10.5.7 by changing the install location for core module
> upgrades.
Dunno what's up with my system, but right now I'm running 10.5.7 and I get the
"weaken" failures when I use the stock Perl.
Whatever. For my laptop, I think I'm going to continue to use the manually
compiled Perl. For the Mini, though, I'm messing with the system Perl.
> > * Run "./Build distclean", then "perl Build.PL", "./Build test".
>
> What’s the difference between ./Build clean and ./Build distclean?
"./Build distclean" wipes out the "Build" script and the "_build" directory.
On dev branch KS, I don't think there will be a difference. For stable branch
KS, the code autogeneration work is done by Build.PL rather than Build,
though... and I just got in the habit of running "distclean" rather than
"clean" from back then.
Marvin Humphrey
More information about the kinosearch
mailing list