Saturday, April 18, 2015

Solving xmkmf: Command not found with imake

A couple of colleagues were trying to compile glut unsuccessfully for a couple of days, their tech-lead couldn't figure it out either and they decided to approach me.

Turned out that an error
xmkmf: Command not found
was perplexing everyone. A search showed me that imake had to be installed. I installed it and followed the instructions for compilation and in twenty minutes, the problem was solved.

Imake rpm for CentOS is here.
You can also do yum install imake

On jokingly asking if I'd get a treat for it, the tech lead kept gratefully saying "He deserves it" but the developer didnt seem impressed after seeing the simple solution. Reminds me of the story of the experienced engineer who is called to solve a problem with a machine that a lot of other engineers couldnt. He puts an X with chalk on the faulty part. It is repaired and the machine works fine. He charges $50000 for his consultation. The company is outraged for being charged so much for a tiny job and demand an itemised bill. The engineer writes:
$1 for the chalk mark.
$49999 for knowing where to put it.

As for the treat, it never really is about the treat. It's about friendship.

And about imake

Imake (a build automation system) was created to have a platform independent make. The "i" apparently standing for "independent". 
Imake generates makefiles from a template, a set of C preprocessor macro functions, and a per-directory input file called an Imakefile. This allows machine dependencies (such as compiler options, alternate command names, and special make rules) to be kept separate from the descriptions of the various items to be built.

No comments: