May 8, 2008

Compile X-chat 2.8.4 on Hardy

This tutorial is for those who would like to compile X-Chat 2.8.4 on their Hardy Heron. And learn to apply patch on the files manually. What is good about compiling application manually from source?

Binary Compatibility means that when something is updated, you continue to work without needing to even recompile.

Source Compatibility means that you need to recompile to keep things working, but you don't have to actually change the sources.

One is not a superset of the other. Here are some examples in each combo.

Compatibility generally doesn't just mean that the change is discoverable, but that the change has some significant breaking implication that would cause a reasonably client to need to adjust their behavior. (Of course, you always find afterwards that's some important client did something unexpected and you need to compensate. Hence the heroics of the AppCompat folks). For example, with C# + reflection, any change is discoverable, so any change could technically break a client; but if a client breaks because they're relying on the names of private methods that you changed, they're hard-pressed to complain.

Yes Binary + Yes Source:

Renaming private methods. Changing a method body in a way that continues to behave the same.

Yes Binary, Not Source:

Adding new method overloads. Since overload resolution is determined at compile time, adding new methods won't affect already-compiled binaries. But if you recompile, it's possible that you may bind to the new overloads. (For example, see float.Equals)

Not Binary, Yes Source:

In this case, you just need to recompile your sources to keep working. The compiler will respond to the change in a corrective way. For example, consider removing a method overload. At a binary level, the method you're bound to is removed and so things fail. But if you recompile, the compiler may bind to another overload that's semantically equivalent, and so things keep working without you having to change any source.

Not Binary, Not Source:

A real breaking change. This requires clients to update their sources and recompile. For example, removing a method.

Taken from Mike Stall's .NET

So, now you know the pro and cons of compiling an application from source. But if you are lazy to recompile on every version updates, then i'll recommend you to use binary installation, cause this will automatically do the updates for you.

Here is the way to compile X-Chat 2.8.4 in your kernel. First you need to get the source from the official x-chat website. Then, just extract the source tarball and run '.configure' , 'make' and 'sudo make install' . This steps will be enough to install the x-chat on your current ubuntu.
tar xjf
sudo make install
And you can see the differences at your ctcp version when you ctcp yourself on the irc server. Normal Ubuntu X-Chat(installed using apt-get) will only reply "VERSION xchat 2.8.4 Ubuntu" but in a manual compiled version of X-Chat, the ctcp reply will give also your current kernel version and machine type like this "VERSION xchat 2.8.4 Linux 2.6.25-gunblade [i686/1.46GHz]" .

Thank you for your unbelievable support on Negative Zero - Permission to read and write blog for nearly 4 years. Don't forget to like Negative Zero on Facebook. Blog Directory

Post(s) you might like to read :



Post a Comment