Your message dated Sat, 17 Aug 2019 10:50:35 +0000
with message-id <e1hywi7-0005mm...@fasolo.debian.org>
and subject line Bug#842892: fixed in z3 4.4.1-1
has caused the Debian Bug report #842892,
regarding java.lang.UnsatisfiedLinkError: libz3java.so: undefined symbol:
Z3_solver_get_model
to be marked as done.
This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.
(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact ow...@bugs.debian.org
immediately.)
--
842892: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=842892
Debian Bug Tracking System
Contact ow...@bugs.debian.org with problems
--- Begin Message ---
Package: libz3-jni
Version: 4.4.1-0.3
Severity: important
Dear Maintainer,
The Java example program included with z3 [1] fails to run.
With the package in unstable, the error reported is:
Exception in thread "main" java.lang.UnsatisfiedLinkError: no libz3java in
java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.microsoft.z3.Native.<clinit>(Native.java:14)
at com.microsoft.z3.Global.ToggleWarningMessages(Global.java:86)
at JavaExample.main(JavaExample.java:2286)
This is a misleading error (the correct library to load is "z3java", not
"libz3java"), caused by hiding an earlier exception [2].
I applied the following patch locally:
--- a/scripts/update_api.py
+++ b/scripts/update_api.py
@@ -570,8 +570,9 @@
java_native.write(' public static native void
setInternalErrorHandler(long ctx);\n\n')
java_native.write(' static {\n')
- java_native.write(' try { System.loadLibrary("z3java"); }\n')
- java_native.write(' catch (UnsatisfiedLinkError ex) {
System.loadLibrary("libz3java"); }\n')
+ java_native.write(' System.loadLibrary("z3java");\n')
+ #java_native.write(' try { System.loadLibrary("z3java"); }\n')
+ #java_native.write(' catch (UnsatisfiedLinkError ex) {
System.loadLibrary("libz3java"); }\n')
java_native.write(' }\n')
java_native.write('\n')
With the try-catch removed, the actual exception is revealed:
Exception in thread "main" java.lang.UnsatisfiedLinkError:
/usr/lib/x86_64-linux-gnu/jni/libz3java.so:
/usr/lib/x86_64-linux-gnu/jni/libz3java.so: undefined symbol:
Z3_solver_get_model
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1857)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.microsoft.z3.Native.<clinit>(Native.java:13)
at com.microsoft.z3.Global.ToggleWarningMessages(Global.java:86)
at JavaExample.main(JavaExample.java:2286)
I confirmed that libz3 does in fact export the symbol in question:
$ nm -gD /usr/lib/x86_64-linux-gnu/libz3.so | grep Z3_solver_get_model
00000000000a6220 T Z3_solver_get_model
It looks like the JNI library is not actually linked against libz3?
$ ldd /usr/lib/x86_64-linux-gnu/jni/libz3java.so
linux-vdso.so.1 (0x00007ffdc41e7000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(0x00007fb61bcf5000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fb61b9f1000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1
(0x00007fb61b7da000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fb61b43c000)
/lib64/ld-linux-x86-64.so.2 (0x000055c3b7a27000)
[1] http://sources.debian.net/src/z3/4.4.1-0.3/examples/java/JavaExample.java/
[2] http://sources.debian.net/src/z3/4.4.1-0.3/scripts/update_api.py/#L574
thanks,
Ryan
-- System Information:
Debian Release: 8.6
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500,
'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.7.0-0.bpo.1-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
--- End Message ---
--- Begin Message ---
Source: z3
Source-Version: 4.4.1-1
We believe that the bug you reported is fixed in the latest version of
z3, which is due to be installed in the Debian FTP archive.
A summary of the changes between this version and the previous one is
attached.
Thank you for reporting the bug, which will now be closed. If you
have further comments please address them to 842...@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.
Debian distribution maintenance software
pp.
Gianfranco Costamagna <locutusofb...@debian.org> (supplier of updated z3
package)
(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmas...@ftp-master.debian.org)
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
Format: 1.8
Date: Sat, 17 Aug 2019 11:05:53 +0200
Source: z3
Binary: z3 libz3-4 libz3-dev python-z3 libz3-cil libz3-ocaml-dev libz3-java
libz3-jni
Architecture: source
Version: 4.4.1-1
Distribution: unstable
Urgency: medium
Maintainer: LLVM Packaging Team <pkg-llvm-t...@lists.alioth.debian.org>
Changed-By: Gianfranco Costamagna <locutusofb...@debian.org>
Description:
libz3-4 - theorem prover from Microsoft Research - runtime libraries
libz3-cil - theorem prover from Microsoft Research - CLI bindings
libz3-dev - theorem prover from Microsoft Research - development files
libz3-java - theorem prover from Microsoft Research - java bindings
libz3-jni - theorem prover from Microsoft Research - JNI library
libz3-ocaml-dev - theorem prover from Microsoft Research - OCaml bindings
python-z3 - theorem prover from Microsoft Research - Python bindings
z3 - theorem prover from Microsoft Research
Closes: 842892
Changes:
z3 (4.4.1-1) unstable; urgency=medium
.
[ Gianfranco Costamagna ]
* Team Upload
* Upload to unstable
.
[ Andreas Beckmann ]
* Do not set the SONAME of libz3java.so to libz3.so.4. (Closes: #842892)
Checksums-Sha1:
186e3e4fa864d21854caf73c49436d20c1d1130c 2998 z3_4.4.1-1.dsc
4115d684c5a0ee7ad47cb1db01ae4137a37cc67e 14660 z3_4.4.1-1.debian.tar.xz
cb3447190f569139edb1b157adfff86ce0d9fa9f 22052 z3_4.4.1-1_source.buildinfo
Checksums-Sha256:
ad397450bfb8be8c9431dc7294a9df1b305da70e2445b96f2ae696dd16beb82a 2998
z3_4.4.1-1.dsc
b34338af7779d9a661a1e3509360ade98e2e47eeccccf3e0047e4e1d00c146ae 14660
z3_4.4.1-1.debian.tar.xz
383dad5c627bcf470b476ec843cc1ea93d0c673d52309cd8be9fa0ab18b3def4 22052
z3_4.4.1-1_source.buildinfo
Files:
b52e9f6b14e762dc05ed39a8e9c4657b 2998 science optional z3_4.4.1-1.dsc
70d722ae3ef02ec5fc4af54f438c9e2f 14660 science optional
z3_4.4.1-1.debian.tar.xz
d93beeb7f058c46483555c07a2fb95dc 22052 science optional
z3_4.4.1-1_source.buildinfo
-----BEGIN PGP SIGNATURE-----
iQIzBAEBCAAdFiEEkpeKbhleSSGCX3/w808JdE6fXdkFAl1Xw8QACgkQ808JdE6f
XdmEJxAAvIb2fjlcZ4eNkWAWiuEIwzCoKwYJxv2eXCVR5JEwPgsnuc5xLM0ITaGd
c/5iFVBtNNRGsT8XEmDrYbEpPLFs0Yu8T38cBk3JUOpUBzR0DD2epo+7Q+Qr5QfL
BOoWPUcEbpIzeqGUTyBVayQyKiE67quiaw+yCJLB6ARq6MqwL30G0GO8PE4OrYwc
gr1UMuzLyigeoTt7Ynj9eulLY3qcxsUJwRrpx1dQwjFdkEXW9o7cbTcOqzJQXiYc
5K/zC63hqLDBWnkUZRF7oup6lWV/pCKfHn/COUz0C5kJInGVbXXjl6/yF46xscLx
EFW/etJ5UMFkMdWpvUqMzsOu9V5paHyJSWCbDGTr9EPq7bLOdhbxMRQu2PgsgE+V
tV2i2fs/jInJEaluafiTSMUJZ2qFZrgkf4WSK12zP5psH27gJP88jKvTKEhvZRty
zEwMg7ktt/MLML/93Y84iSTOXqNK79rYoZLzykS8tb+TM64dvWQKboVJMBT11edM
dFMX8ZSGyaTPET9rGs+o5DJH4KbL+6AMkkAgdAZRTmCOy7NYB3YeC9FGi8GIe2d/
Oespl4JKBVBMaEmjtoLNIQy9qi6RyIRRsqqOSbQgItpYhpi3Xz4EpuE7+BCQbSzh
y07F4JbIWgKp8blbQZhjmvNI1VhwN67ycLaWFZrZZyS9FLCxpaU=
=6mbX
-----END PGP SIGNATURE-----
--- End Message ---