We have been working on building some Google Gadget's at work as a way to do distributed application development. We are looking to use Shindig, the Open source Gadget server. To interface with it we were looking into Thrift, a cross-language services framework. However, to get it working it has quite a few non-trivial dependencies, and not the best documentation. So, anyway, I followed This article on installing Thrift, however i received the following error:
---> Building boost with target all Error: Target org.macports.build returned: shell command " cd "/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_ports_devel_boost/work/boost_1_35_0" && gmake all " returned error 2 Command output: Makefile:2: *** missing separator. Stop. Error: Status 1 encountered during processing.
Some more googling led me to This MacPorts trac ticket which has a mention from someone on getting it working (with the Clean, then reinstall steps).
That Nearly got me there, but i ran into this error.
checking for libevent >= 1.0... yes checking for zlib >= 1.2.3... yes ./configure: line 20726: syntax error near unexpected token `MONO,' ./configure: line 20726: ` PKG_CHECK_MODULES(MONO, mono >= 1.2.6, have_mono=yes, have_mono=no)' mac:thrift aaron$ sudo make install Password: make: *** No rule to make target `install'. Stop. mac:thrift aaron$ sudo port install mono
Some more googling led me to this http://wiki.apache.org/thrift/ThriftInstallationWin32, the section about the missing .m4 file. My .m4 file was actually in /opt/local/share/acloal so i modifed it for the following:
cp /opt/local/share/aclocal/pkg.m4 aclocal
I was still getting the same missing mono, error, some more googling led me to http://blog.jakbot.com/?p=6 I did couple things this page, but then re-ran
sh bootstrap.sh
I think that is what did it, although if not I also followed the steps in the above article about exporting mono path, and also the additional installs (autconf,automake, libtools). Then, i was able to re-run the Thrift .configure command and it was good.
While playing with Thrift, i also found ThruDB which sounds like a very interesting service as well. I started to follow this article on installing ThruDB. I am tackling that now. Have to start to find the Python API's.