Had to make one more modification.  The new glob includes directories now, where the old one did not.  So do_libs needed a slight modification.  I was scratching my head for a while on the error.  The gist is, if you call File.install on a directory, it installs it at the destination as a zero byte file.   When File.makedirs is called on a regular file, it throws a file already exists error.

The work around was just to skip any directories that exist in the lib/**/* glob, since do_libs creates the parent directory if needed already using File.makedirs.