GNU Stow doesn't like to replace (or remove) cache files like share/glib-2.0/gschemas.compiled and share/icons/hicolor/icon-theme.cache.
If another package installed those, but the package you're trying to stow has its own, you'll get an error like this:
$ sudo stow seahorse-41.0/
WARNING! stowing seahorse-41.0 would cause conflicts:
* existing target is neither a link nor a directory: share/glib-2.0/schemas/gschemas.compiled
* existing target is neither a link nor a directory: share/icons/hicolor/icon-theme.cache
All operations aborted.If you try to stow -D a package you'd previously stowed, but another package replaced, say icon-theme.cache, you'll get an error like this:
$ sudo stow -D seahorse-41.0/
WARNING! unstowing seahorse-41.0 would cause conflicts:
* existing target is neither a link nor a directory: share/icons/hicolor/icon-theme.cache
All operations aborted.The Makefile below exists to finesse your way around this problem; store this in /usr/local/stow for convenience.
When stowing a new package that uses Glib, remove the existing cache files with make clear, then re-stow. If you need to un-stow a package and it complains, run make clear again. If you find that GLib schemata or icon caches are out of date, run make cache.