Build Failure on OpenSUSE Tumbleweed after distro upgrade: `NSSUTIL_3.59' not found

Jan-Marek Glogowski glogow at fbihome.de
Sat Jun 12 11:49:39 UTC 2021


Hi Luke,

Am 12.06.21 um 02:31 schrieb Luke Benes:
> 
> Builds are now failing on the rolling distro OpenSUSE Tumbleweed After the latest update, both gcc and clang builds and both both x86-64 and i686 architectures fail.
> 
> Seems to be caused by caused by:
>       java.io.IOException: /core/instdir/program/libnssutil3.so: version `NSSUTIL_3.59' not found (required by /usr/lib64/libnss3.so)
> 
> mozilla-nss should provide  libnss3.so(NSS_3.59)
> https://opensuse.pkgs.org/tumbleweed/mozilla-x86_64/mozilla-nss-32bit-3.64-1.6.x86_64.rpm.html
> 
> Here is my upgrade log: https://controlc.com/79ec2502
> Below is my build log.
> 
> If I add, "--with-system-nss" to my autogen.input file, the build succeeds without any issue.
> 
> Any thoughts has to how to fix this or ideas on the root cause?

So the system lib /usr/lib64/libnss3.so, which is NSS 3.59, picks up 
LO's own /core/instdir/program/libnssutil3.so, which is still at 3.55 
for master...

Debugging that without an openSUSE system was a bit hard... IMHO this is 
a bug in their java-11-openjdk source / java-11-openjdk-headless. They 
provide a patched nss.cfg, on your system in 
/usr/lib64/jvm/java-11-openjdk-11/conf/security/nss.cfg, which sets:

nssLibraryDirectory = /usr/lib64

My one on Debian doesn't.

The result is, that Java now always loads the libnss3.so from that 
directory, instead of using the ld.so search order to find it (man ld.so 
/ man dlopen). But LO sets the LD_LIBRARY_PATH, so the ld.so will first 
look for its libraries in /.../instdir/program. And there it finds the 
libnssutil3.so from your build, which is too old and misses the 
NSSUTIL_3.59 symbol, resulting in your error.

I suggest you try, if removing that line helps and then report a bug to 
openSUSE.

HTH


More information about the LibreOffice mailing list