Ubuntu: getting back /usr/include/linux

I managed to screw up my /usr/include/linux directory on my Ubuntu system. I knew something was very wrong, because I was trying to compile C code and it was not finding definitions for basic things like EINVAL (which is a standard Unix error that should normally be in /usr/include/linux/errno.h on a proper Linux system). My guess is that this happened while I was working on getting kqemu to build against my kernel. I had mucked around and tried to do things manually instead of using the proper packages. I had symlinked /usr/include/linux to the include/linux directory in my kernel source tree. Not a good idea. That got me files, but the contents were not correct – my /usr/include/linux/errno.h had a fraction of the needed error constants.

It took a while to figure out how to get the directory back, as there are a number of packages related to headers – e.g.: linux-headers-2.6.15-27, linux-headers-2.6.15-27-686. Well, those have a number of headers, but not the ones in /usr/include/linux.

Eventually, I found it:

sudo apt-get install --reinstall linux-kernel-headers

Had I remembered apt-file, I could’ve used that to easily find the package. First, install the package and update its cache:

sudo apt-get install apt-file
sudo apt-file update

and then search for the package containing the file you need:

apt-file search /usr/include/linux/errno.h

GNU Smalltalk 2.2 package for Debian and Ubuntu

I linked to this in another post, but I realized that a lot of people might not notice it at the bottom of a long post, so I thought I’d break it out into a separate post.

gnu-smalltalk-2.2-1_i386.deb

This 2.2 version that I built from the source last night is a lot newer than the 2.1.8 version that is in the Ubuntu repositories. Also I was able to use BloxTk (graphical browswer, workspace, etc.) with this, which was not working for me with the Ubuntu version.

Cincom support: impressive

OK, now I am really impressed with Cincom.

First, my friend Chris Smith has trouble installing on Gentoo and somebody from Cincom sees it on his blog and responds immediately. The issue turns out not be with Cincom but with Gentoo’s glibc.

Now I post on my blog about a small problem with the installer and how to work around it and James Robertson from Cincom notices it and posts about it right away.

Very nice. Very impressive in an age where most companies don’t seem to care about supporting their products.

Bravo, Cincom.

GnuCash 2.0.1 on Ubuntu

I noted that GnuCash had released major new versions since I last tried it (1.8 I think) so I decided to give it a spin on my Ubuntu Linux system. I tried apt-get install and there was on Ubuntu package so I downloaded the source and compiled it. Building it was easy except for installing the bazillion GNOME, Guile, and g-wrap dependencies to satisfy the configure script. In the end, it worked and I did a sudo make install to install it and then tried it out.

It fired up and told me that it couldn’t find configuration data, but it could fix the problem by adding some directories to my .gconf.path file, which I had it do. But then it crashed with:

: In procedure scm-error in expression (scm-error (quote misc-error) #f ...):
: no code for module (g-wrap gw standard)

I tried to run it again and it displays the splash screen for a second but then I get the same error.

After digging around in the forums, I found the solution here.

After doing sudo apt-get install guile-g-wrap, things ran nicely. This apparently is not a GnuCash bug, but an Ubuntu bug because they’ve split the dev and runtime packages for g-wrap, but didn’t make the dev package depend on the runtime package. Hope the Ubuntu guys address that.

Later on I’ll try to find my old GnuCash data files, if I still have them, and play around with the new version a bit more.

Perhaps, I’ll also take a stab at creating a .deb for Ubuntu, which I’ve never done before. It would be nice to create a .deb and put it in a Dapper repository.