loge.hixie.ch

Hixie's Natural Log

2003-08-04 19:27 UTC How to install X-Chat in five hours (or more)

Inspired by Mark's story, I have decided to let you all know how I spent one half of my weekend. This is the boring half. The other half of my weekend was much more fun, and much more relaxing, and was spent in the company of much more of the colour red.

Anyway. As I was saying.

I got a new (work) laptop the other day. It's an IBM Thinkpad X31. Quite a nice machine. Small. Light. Hot. Fast. Has built-in wireless, infra-red, and bluetooth.

I asked for a GNU setup. The distribution picked was Debian. It came pre-installed. Lovely Jubbly.

The first thing I did was download a Mozilla nightly (binary, since I didn't really want to go through the pain of pulling and building again). That didn't work. It needed libgtk1.2. I didn't have anything remotely resembling GTK installed.

Having not used Debian for about 8 years, I didn't know what to do. Let's try asking people, I thought. So I fired up X-Chat.

No X-Chat.

Fine. I'll do what I usually do, I thought. I'll download the source.

No wget.

Ok, ok. lynx wget.org, look around, download the source tarball.

tar xvzf wget.tar.gz

./configure

make

su

make install

I then used wget to download the source for X-Chat.

Turns out X-Chat needs libgtk2.0. Unfortunately, GTK had not magically appeared on my laptop in the intervening time. Now I was in a bit of a quandry at this point. In order to work out how to solve my libgtk1.2 problem, I needed libgtk2.0. Which of course I also didn't know how to get. So I turned to Google. With Lynx.

I quickly got tired of that.

This is the point where I realised that it would probably be worth investigating using my own company's product, so I got a recent build of Opera for Linux over ftp. It came in a tarball with a configuration script, which I ignored, since as far as I can tell all it does is set up Java, and I don't want to use Java. I ran the executable instead.

It worked. Excellent. I could browse the Web, I could open pages in the background, life was good.

Next I found the sources for libgtk2.0.

./configure

You need glib.

Next I found the sources for glib.

./configure

make

su

make install

That worked. So I tried libgtk2.0 again.

You need pango.

Do I indeed, I thought. To cut a long story short, I followed this dependency chain all the way back to FreeType, before I realised what the time was.

Friday evening. Opera has a social gathering on Friday evenings. So I took a break and went to that. Not many people, though, since so many are on holiday these days. It was during this break that Eddy mentioned aptitude.

aptitude

Such an innocent name. Who would have guessed that it could make life so much easier?

I used apt-get to get aptitude. I fired up aptitude.

Ok. Here's xchat, I thought. It installed in seconds. Including installing pango, freetype, libgtk2.0, libatk, glib, and about seventeen other packages I'd never heard of but which were apparently key to the operation of this productivity tool.

XChat! It ran! Unfortunately the screen on my laptop is too narrow to fit the tabs for the 16 channels I'm always in along the bottom as I'm used to, so I had to configure it for vertical tabs. But other than that, it worked.

At this point I tried installing libgtk1.2. That was to prove to be a bad idea.

It turns out I was using an unstable version of the debian package for xlibs, and the libgtk1.2 package wanted a stable version.

After much wrangling, and with help from kind folk on #mozilla, I decided to uninstall all of X, remove the unstable line from my sources.list, clear all the caches, and try again with a stable X.

Nice idea in theory.

In practice, it failed rather badly, because I had left my configuration files there when uninstalling, and so I was using the unstable config files with the stable X.

Mark II. Try again, this time, removing all the config files too.

What video chipset are you using?

Um.

What is the vertical refresh rate of your LCD monitor?

Er.

What is the maximum air speed of a European swallow carrying three fish in a 5kph head wind?

Ah.

Google helped with some of those questions. But not enough of them, unfortunately. I got the swallow question wrong (or was it the video chipset one? X didn't give me my exam paper back, only a pass/fail grade, so I'm only guessing here) and this resulted in X having spasms when it next started.

I had a few other attempts at answering the questions, but they failed too. At one point the kernel was informing me on a regural basis that I had run out of MTRRs. This somewhat surprised me since I didn't know I had any to start with, didn't know I needed them, and didn't know where to get more from. So I did some more research. Turns out the X31 has a Radeon chipset.

There was no "radeon" option in the list.

This is when it dawned on me that maybe the sysadmins who set up my laptop had a good reason to be using the unstable X packages.

Uninstall. Purge. Clear the cache. Update the sources.list file. Update the packages. Purge the packages again just to be sure.

Reinstall X.

Configuring X. Yes, or No?

Yes?

Configuring X. Yes, or No?

What?

Configuring X. ?

I'm not kidding. dpkg had decided to ask me the questions, without the prompts. This was rather confusing to say the least.

I muddled my way through (trying to remember if it asked about middle mouse buttons before or after it asked if you had an LCD screen). There it was, in the middle of the list, just as I had hoped: radeon.

A few minutes later, I discovered that I had done something wrong. Drunk with the power that aptitude gave me, I just went ahead and purged X again.

This time, no radeon.

D'oh.

About 5 reinstalls later, I tried not reinstalling, just re-running the configuration program.

Amazingly, radeon had mysteriously appeared on the list. How lucky.

It worked.

Admittedly, I'm now using twm, not the spiffy stuff that was set up originally. But it works, for some definition of "works". I even managed to install some decent fonts. (Thanks Microsoft!)

I still don't have libgtk1.2 installed though. I think I'll just compile my own Mozilla after all, and tell it to use libgtk2.0.

Next on my list are trying to get the wireless working (wish me luck, I hear there are no drivers for this particular card yet). I also need to configure the console, and X, to recognise the various magical keys that currently say keyboard: unknown scancode e0 63 and so forth.

It's so sad that there are no operating systems that manage to get everything right. Stable. Secure. Usable. Powerful. Free. Pretty. At the moment, you only get to pick three, maybe four if you're willing to compromise a bit.

Pingbacks: 1