Building Emacs 24 on OS X Lion

Now that Emacs 24.1 was officially released it was time to stop messing around and actually get it installed. I tried that last year but had problems with configure not finding tputs in any of the curses libraries. This time it was even worse.

The first problem was that configure couldn’t find gcc. Regular readers will remember that my laptop recently underwent significant sugery and had a complete OS reinstall. It turns out that the new Xcode doesn’t automatically load the command line versions of the compilers. Fortunately, Graeme Mathieson over at Notes from a Messy Desk had the answer. It’s a little involved so I’ll just send you over to Mathieson’s blog if you need to do this. I will note, though, that I didn’t bother with OSX GCC Installer and just used Xcode to load the command line tools as Mathieson explains.

After getting over that problem I was back to having configure fail while looking for tputs. I knew that the ncurses library was installed and that tputs was there so I couldn’t understand why configure was failing. After trying various things, I finally just commented out the test for tputs in configure to see what would happen. That change made configure run but then the compile failed. That failure gave me the final clue as to what was happening. Long ago I used the Fink package manager but stopped after OS X moved to 64 bits because it was too hard to get Fink upgraded. However, the /sw directory in which Fink installed its software was still there and in that subdirectory was an old 32 bit version of ncurses. As the error message from the compile made clear, the linker was finding this outdated library and quitting because it couldn’t use it. Once I got rid of /sw everything worked fine and I know have a working Emacs 24.

None of this would be worth a post except for the fact that during my research into the problem I found several others who had the same problems. Perhaps they will find the help they need in this post once Google gets around to indexing it

This entry was posted in Programming and tagged . Bookmark the permalink.