Subject: | Brute-force header search fails due to simple typo |
I'm building on debian (squeeze) and tried to find the simplest way to
install this.
The README recommends the xrunner-dev package to satisfy requirements,
but it is really heavyweight. I installed libmozjs-dev instead.
When installing, I got:
Can't exec "pkg-config": No such file or directory at Makefile.PL line
109.
Can't run pkg-config
Will try a brute-force search, review the results...
Sad, no SM headers found
SpiderMonkey headers and libraries not found.
The headers are there, in reasonable paths, but not found because the
search is looking for 'jsapi.js' instead of 'jsapi.h' !!
The following patch fixes:
--- Makefile.PL.org 2012-01-16 13:59:08.000000000 -0500
+++ Makefile.PL 2012-11-29 11:37:18.000000000 -0500
@@ -165,7 +165,7 @@
unless($incdirs) {
my $hash=0;
for my $p (@ipaths) {
- if(-f("$p/jsapi.js") && -f("$p/jsdbgapi.h")) {
+ if(-f("$p/jsapi.h") && -f("$p/jsdbgapi.h")) {
push @incs, "-I$p";
$hash++;
}
Wow! Now it just works. This is a great module - I hope more people can
try it out now.
Until this is released, those who don't feel like applying the patch,
but know where their files are located, can just
'touch /usr/include/mozjs/jsapi.js' (modify the path accordingly)
and it should also work.
The libmozjs installation I have is version 1.9.1, and it seems to be
working (just started testing) so you might consider updating the README
for the versions supported as well.