Wednesday, April 25, 2012

Compiling "vomit"

I just needed to compile vomit (the man page is here) which is utility for converting G.711 data into a wave file. I ran into several problems (I'm using gcc 4.7.0, with libevent 2.0.18-1 from Arch's core repository, and libnet 1.1.5-2 from the community repo). In file pcapu.c, in function pcap_cb there is this line:
fprintf(stderr, __FUNCTION__": ! add\n");
There are several ways to fix this, but I shamelessly commented it out!

Then there are several references to struct libnet_ip_hdr, which does not exist in recent libnet versions. I simply changed them all to struct libnet_ipv4_hdr.

And finally, in vomit.c, there are references to event_gotsig and event_sigcb symbols which have been removed from libevent for some time. Again, since their use didn't seem too crucial to me, I commented them out.

Perhaps a little bit crude, but it worked for me!