libgnutls-extra.so (not present in gnutls3) and libgnutls-openssl.so are linked against system libgnutls.so library. So when upgrading from gnutls2 to gnutls3, libgnutls-openssl.so is linked to libgnutls.so.26 instead of libgnutls.so.28 (a rebuild fixes it), and when downgrading from gnutls3 to gnutls2, libgnutls-extra.so and libgnutls-openssl.so are linked to libgnutls.so.28 instead of libgnutls.so.26. Attaching tested patches for gnutls2 and gnutls3. I reported the bug upstream, see URL.
Created attachment 324904 [details, diff] gnutls-2.12.20-libadd.patch
Created attachment 324906 [details, diff] gnutls-3.1.1-libadd-minimal.patch
FWIW, my patch is included in upstream gnutls-3.1.2.
Fixed in 2.12.20.