Ian (lovingboth) wrote,

Lazyweb - building Debian programs from source

I don't need to do this very often (thank you Debian maintainers) but the package for analog, the log file analyser, still hasn't been updated with the patch to recognise Windows versions post-2004: Vista and 7 are 'unknown' as far as it is concerned.

(Analog is wonderful, but its author decided to hardwire various detection routines in the c source rather than have them in a config file and has been "too busy" to update the program since 2004.)

So, obviously, you just download the source package, unpack, edit the relevant tree.c file and make, right?

No, you add deb-src lines to the /etc/apt/sources.list file, update, and do

sudo apt-get source analog

then edit and make.

No, because the resulting executable file complains it cannot find various config files - Debian decided to put them somewhere else. What you actually need to do is

sudo apt-get source analog -b

(get the source - actually, realise you already have it and so don't overwrite the changes you made - and build it, including all the Debian changes.)

And that works! Rename the old binary, copy the new one into /usr/bin and..

ian@core2 ~ $ ls -la /usr/bin/ana*
-rwxr-xr-x 1 root root 1122930 2010-05-30 13:06 /usr/bin/analog
-rwxr-xr-x 1 root root 367568 2009-04-28 21:58 /usr/bin/analog-old

In my ignorance, I was expecting something nearly the same size. Why is it so much bigger (1.1Mb vs 360k)? Debug info? (If so, a) why's that the default and b) that's an awful lot of debug info!) Something else? How do I get something roughly the same size?

This entry was originally posted at http://lovingboth.dreamwidth.org/391882.html, because despite having a permanent account, I have had enough of LJ's current owners trying to be evil. Please comment there using OpenID - if you have an LJ account, you can use it for your OpenID account. Or just join Dreamwidth! It only took a couple of minutes to copy all my entries here to there.

Comments for this post were disabled by the author