Turns out I had an older version of cairo in /usr/local. This version was being linked to by pango, causing the error. It is surely a bug that pango is being linked to the wrong version of cairo (is this a bug in pango or in my program?). But obviously it's not the kind of bug I thought at first. -jason