Warning: Parameter 2 to GoogleSitemapGeneratorLoader::KillFrontpagePosts() expected to be a reference, value given in /home/public/blog/wp-includes/class-wp-hook.php on line 286
Dysfunctional Programming » Make ye a hydra

Make ye a hydra

I’m interested in playing around with Dehydra to see whether I can create a pre-review checker, hopefully to lessen the amount of nits that inevitably crop up in any patch submitted on Bugzilla. However, as always, the immediate hurdle is acquiring and building the software involved. Making dehydra from scratch involves building gcc 4.3.x, SpiderMonkey 1.7+, and dehydra itself. The instructions in the dehydra README gave me good, error-less instructions for gcc, and installing SpiderMonkey was nothing more than ./configure ; make ; sudo make install. Building dehydra was a bit hairier; here’s my final sequence of steps:

export CXX=/home/t_mattjo/src/gcc-dehydra/installed/bin/g++
./configure --js-libs=/usr/local/lib --js-name=js_static --js-headers=/usr/local/include/js/

Of course, I also had to go into the Makefile and add -lstdc++ because I kept receiving this error while trying to use the generated gcc_dehydra.so (thanks bradh!): /home/t_mattjo/src/gcc-dehydra/installed/bin/../libexec/gcc/i686-pc-linux-gnu/4.3.4/cc1plus:
symbol lookup error: ./gcc_dehydra.so: undefined symbol: _Znwj

So after all that, make check almost passes everything. I’m running into the same six errors that Roger Dicke got a few days ago, so I might try digging into that. However! I can hopefully start playing with static analysis soon, and that’s a very exciting prospect.

Update: the treehydra problem is a known regression in Spidermonkey trunk.

One Response to “Make ye a hydra”

  1. It seems there were some minor updates to this procedure, I tried the gcc 4.5 way yesterday with OpenSuse 11.2, and it went pretty smooth. No errors in 84 tests.

    One little problem I ran into: The Howto tells you to run /mozilla-central/js/src/configure –enable-optimize –disable-debug” at some point. However, it omits that you should install and run autoconf-2.13 first for creating this configure script (autoconf 2.63 does not work).

Leave a Reply