I just tried to compile iemlib from CVS, and noticed that the Makefile does things like:
cp iemlib2.pd_linux ../../lib
where the directory ../../lib doesn't exist(*), so each of the libraries overwrites the file lib.
This issue could be caught by changing those lines to:
cp iemlib2.pd_linux ../../lib/
with an additional rule to make the directory if it doesn't exist.
(*) This may be an issue with how I checked out the CVS - still a newbie after many months. I know there is a flag to check out empty directories, but can't remember if I used it this time...