According to the filelist for that package, the library should be in /usr/lib/x86_64-linux-gnu/. So, once installed, does /snap/geeqie/current/usr/lib/x86_64-linux-gnu/libexiv2.so.14 exist? If so, it should be found, unless there’s something else in the snapcraft.yaml preventing that. Could you please paste the entire yaml?
You do not need libexiv2-14 on the system you are hosting Snapcraft on. The reason exiv2-14 is needed in stage packages, is because the snap is being built against Ubuntu 18.04.
The default for Snapcraft is to make an environment, whether by Virtual Machine (Multipass), or LXD with the --use-lxd paramaters, that mirrors the environment of the base snap. (I.E, it’ll literally download a lot of Ubuntu 18.04 if you choose to use Core18 base). Both of these are detatched from your host OS that is running Snapcraft. All the building is done in the VM or the LXD container.
As such, when you are building a core18 snap, it derives packages from the Core18 repository. It does not matter what version of Ubuntu you are on, or that you’re on Ubuntu at all. This is why libexiv2-27 wasn’t found. The snap you are building had access to 18.04s repositories, not 20.04.
It is not required nor assumed that you run Snapcraft on the system that matches the base snap.
It is possible to use the host system as a build environment, but that is advanced functionality that has few practical uses and is not generally recommended.