[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

Filed under: General — Thomas @ 12:14

2003-12-31
12:14

The good news is that GStreamer (your future) has a new release out. It took a lot of sweat working on the autotools stuff to get it to build, compile, install and check ok. GStreamer should release more often and hopefully it will.

Whacking the GStreamer ball around all weekend made me realize a few things :

  • I don't know enough autotools
  • People always blame autotools, when the tools are probably not to blame
  • Autotools are hard to debug when you're actually trying to debug them in the project you're trying to get running. Most of the time, you don't want to spend time forcing autotools to do what you want, you want to get them out of the way.

To solve all these problems at once I decided to create a new project : Autostars, the Autostar Sandbox. The idea is delightfully simple, and I suppose I'm not the first one to think it up.

The main problem with debugging autotools stuff is that the fix/run/test cycle takes too long when you do it in a project. While fixing GStreamer builds this weekend, I often tried fixing checks. Running autogen.sh after that again took a few minutes, because GStreamer checks about fourty libraries. So by the time this is finished you have long left your window of concentration and you end up getting frustrated. You're also not learning anything about autotools. You're just throwing cement at little holes all over the place and hope it sticks.

So, the solution is simple : strip down the files involved (configure.ac, Makefile.am, ...) to the bare essentials for that test only, and you'll have a much quicker result of your changes. This is what the Autostar Sandbox is for : simple, atomic tests, showing you how to implement particular tests. Not every autotools problem can be solved this way of course, but most of the basic ones can.

There's not much in there as of yet (five checks at the moment), and it's only in CVS, but I invite you to try it out anyway if you're currently having problems getting something to build. You'll actually fix your build problem quicker if you do it this way (I know, it's paid off for me in the last week as I implemented GStreamer check bits in autostars), you'll end up less frustrated and maybe with a bit more knowledge, and best of all : you get to share that knowledge with other developers ! Enough to make you feel fuzzy and warm all over. My boss would say it's a win-win situation.

2 Comments

No comments yet.

RSS feed for comments on this post. TrackBack URL

Sorry, the comment form is closed at this time.

picture