Installing Beagle

I was really excited to get Ubuntu working, because I could then install Beagle without too much pain and suffering, since there was a Ubuntu method. Oh, but there was pain and suffering involved.

Now, before, I get started on what all went wrong, I do have to tell you that it was worth it. No, really, it was. Is Beagle that good? Is it that slick? Yes — just heck out the videos yourself.

You see, the problem was that the version of Beagle that Ubunutu can install was old — it only indexed text files. But I wanted OpenOffice files, PDFs, Python source — anything that might be useful. So I decided to install the latest myself. From source. Yes, I deserved to be punished for that attitude, and punished I was.

I uninstalled Beagle from my system. I also uninstalled Ubuntu’s Mono install, because it was old, too old to build Beagle. I grabbed the latest installer of Mono. Even though it wasn’t a debfile, I thought it would work. Yes, the installer worked and put /opt/mono-1.1.13.4/. The installer said that it put it’s file information in the /etc/profile. I should have got out of all my shells and made new ones, but instead I just made a new shell. This was my greatest mistake — read on.

So I grabbed the tarball of Beagle and did a ./configure. It complained that it couldn’t find some libraries — like gtk#. Strange, I thought, I could have swore that the Mono installer found them. After some googling, I figured out what I needed, compiled and installed that, and moved on. The next package wasn’t available, so I compiled and installed that. And so on and so forth. And, finally, the ./configure finally worked!

So then I did a make. Things went fine until it need to compile the C# files. Then it started complaining about 'Native' is not found in Mono.Unix. I did some googling and found that a lot of packages that were in Mono.Unix have been moved to Mono.Unix.Native. This should have clued me in, but it didn’t. I googled some more and didn’t really find anything else. So I started editing the C# files manually — changing all Mono.Unix.Native to import Mono.Unix. But that still didn’t work — it kept complaining about lsetattr not being called right. I looked at the code, and mucked around, and then I grabbed the CVS of mcs to see what was happening. After looking at the Mono.Unix, I noticed that there was a Native namespace after that. I thought that was strange, and then the lightbulb went off in my head. I did a which mcs and the result was what I feared:

/usr/bin/mcs

Yes, I was using the wrong version of Mono!!! I felt like screaming! For some reason, Ubuntu didn’t uninstall the old version and I was using an old bash prompt, so it had the old stuff in it’s path!

So I started a new bash prompt and did a which mcs, which then showed me:

/opt/mono-1.1.13.4/bin/mcs

So I did an make clean and redid ./configure. I still got a few problems, but they were fixed once I did:

export PKG_CONFIG_PATH=/opt/mono-1.1.13.4/lib/pkgconfig/:/usr/local/lib/pkgconfig/

And it was able to find the libs I installed on my own, and found Mono’s own library.

And then — it worked. No, really. It did. It’s indexing my drive as we speak. Time will tell if it was all worth it.

Leave a Reply

You must be logged in to post a comment.