« Factories like they oughta be | Main | links for 2006-11-13 »

Antialiased Emacs on Ubuntu

Two weeks ago: "I think, but am not sure, that my anti-aliased Emacs crashes intermittently. As in poof, utterly gone. I really want to be imagining this one."

That turned out to be non-imginary. Emacs would shut down with no warning, no messages. Just gone. Since I use Emacs to hold temp files and bits and pieces in buffers over the course of the day, it needs to be stable. If neccessary I'd go back to a regular install.

The first time around I had problems building the antialiased version; so I used a premade .deb, and this is the one that shuts down. The chances are the .deb was fine but my local configuration wasn't. In trying to build from scratch again, it turned out the problems were done to not having libxt-dev and libncurses5-dev installed as build prerequisites. That meant /.configure would not find X headers. So make might fail, and if it didn't the compiled Emacs would run in terminal mode (in the latter case if you don't have libncurses5-dev you'll get a termcap error when starting Emacs).

Anyway, The following incantation worked for me on 6.06. Before I started I removed everything emacs related from Ubuntu via synaptic (by searching for emacs and taking the uninstall option).

sudo apt-get install libncurses5-dev
sudo apt-get install libxt-dev

sudo apt-get -f install emacs-snapshot-gtk
cd /opt
sudo cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:/cvsroot/emacs co emacs
cd emacs
sudo cvs up -Pd -r XFT_JHD_BRANCH
sudo ./configure --with-x-toolkit=gtk --with-xft=yes --prefix=/usr
sudo make bootstrap && make
sudo rm /etc/alternatives/emacs
sudo ln -s /opt/emacs/src/emacs /etc/alternatives/emacs

The difference between this and another incantation going around is slight - including the the two libraries at the beginning and scrubbing anything emacs related from your OS.

November 13, 2006 10:13 AM


Post a comment

(you may use HTML tags for style)

Remember Me?

Trackback Pings

TrackBack URL for this entry: