Looks like you are using a custom libstdc++ which seems to be different than
Tumbleweeds one?
The distribution packages do not use any path below /usr/local/ (other would be
a packaging bug). Installing a custom lib there supersedes the one in
/usr/lib64. That's most probably why you get the error.
Move away the custom lib in /usr/local/lib64 and call ldconfig afterwards. Now
zypper should use the one in /usr/lib64. You can check this with 'ldconfig':
> # ldd /usr/bin/zypper | grep zypp
> libzypp.so.1505 => /usr/lib64/libzypp.so.1505