edje_cc builds against libexpat.so.0 it seems, according to ldd, even though only libexpat.so.1 exists on the system. the issue comes down to the API changes with expat 2.0 im assuming, and the new .so suffix to avoid any nasty issues. how exactly it builds against libexpat in the first place beats me, configure doesnt specify it, seems to be hardcoded somewhere. im guessing any versions of expat prior to 2.0 shouldnt be a problem in this case.
nm, my bad, turns out it was libfontconfig thats the actual culprit. edje_cc uses libfontconfig, which builds against libexpat. ld only warns about this during the make stage, but doesnt cause it to hard fail or anything. since when executing edje_cc it didnt specify the tree of failures to track the failure, it didnt click. a simple revdep-rebuild solves this.