On Sun, 16 Jul 2023 18:34:16 +0200 Sebastian Ramacher
<sramac...@debian.org> wrote:
> Source: dynarmic
> Version: 6.4.8+ds-2
> Severity: serious
>
>
https://ci.debian.net/data/autopkgtest/testing/amd64/y/yuzu/35884387/log.gz
>
> 60s yuzu-cmd: symbol lookup error: yuzu-cmd: undefined symbol:
_ZN8Dynarmic3A327Context4RegsEv
Hi Sebastian, thanks for your report. I've uploaded a new version with
a possible fix on Mentors, you can find it at
<https://mentors.debian.net/package/dynarmic/>. I've also attached a
debdiff for your convenience.
Feel free to upload it to unstable if you find this solution
reasonable. Since this is only a soname change, without any actual
library change, I believe that uploading to experimental first is
unnecessary.
If it doesn't look right to you, I'll be happy to hear your feedback :)
Thanks again!
--
OpenPGP key: 66DE F152 8299 0C21 99EF A801 A8A1 28A8 AB1C EE49
diff -Nru dynarmic-6.4.8+ds/debian/changelog dynarmic-6.4.8+ds/debian/changelog
--- dynarmic-6.4.8+ds/debian/changelog 2023-07-05 22:03:58.000000000 +0200
+++ dynarmic-6.4.8+ds/debian/changelog 2023-07-20 19:13:04.000000000 +0200
@@ -1,3 +1,9 @@
+dynarmic (6.4.8+ds-3) unstable; urgency=medium
+
+ * d/{control,patches}: set soversion to major.minor (Closes: #1041270)
+
+ -- Andrea Pappacoda <and...@pappacoda.it> Thu, 20 Jul 2023 19:13:04 +0200
+
dynarmic (6.4.8+ds-2) unstable; urgency=medium
* Upload to unstable
diff -Nru dynarmic-6.4.8+ds/debian/control dynarmic-6.4.8+ds/debian/control
--- dynarmic-6.4.8+ds/debian/control 2023-07-05 22:03:58.000000000 +0200
+++ dynarmic-6.4.8+ds/debian/control 2023-07-20 19:11:30.000000000 +0200
@@ -25,7 +25,7 @@
In the pursuit of speed, some behavior not commonly depended upon is elided.
Therefore this emulator does not match spec.
-Package: libdynarmic6
+Package: libdynarmic6.4
Architecture: any-amd64 any-arm64
Pre-Depends: ${misc:Pre-Depends}
Depends: ${misc:Depends},
@@ -39,7 +39,7 @@
Section: libdevel
Architecture: any-amd64 any-arm64
Depends: libboost-dev,
- libdynarmic6 (= ${binary:Version}),
+ libdynarmic6.4 (= ${binary:Version}),
llvm-dev,
${misc:Depends}
Description: ${source:Synopsis} - development
diff -Nru dynarmic-6.4.8+ds/debian/libdynarmic6.4.install dynarmic-6.4.8+ds/debian/libdynarmic6.4.install
--- dynarmic-6.4.8+ds/debian/libdynarmic6.4.install 1970-01-01 01:00:00.000000000 +0100
+++ dynarmic-6.4.8+ds/debian/libdynarmic6.4.install 2023-07-20 19:11:30.000000000 +0200
@@ -0,0 +1 @@
+usr/lib/*/libdynarmic.so.6.4*
diff -Nru dynarmic-6.4.8+ds/debian/libdynarmic6.install dynarmic-6.4.8+ds/debian/libdynarmic6.install
--- dynarmic-6.4.8+ds/debian/libdynarmic6.install 2023-07-05 22:03:58.000000000 +0200
+++ dynarmic-6.4.8+ds/debian/libdynarmic6.install 1970-01-01 01:00:00.000000000 +0100
@@ -1 +0,0 @@
-usr/lib/*/libdynarmic.so.6*
diff -Nru dynarmic-6.4.8+ds/debian/patches/series dynarmic-6.4.8+ds/debian/patches/series
--- dynarmic-6.4.8+ds/debian/patches/series 2023-07-05 22:03:58.000000000 +0200
+++ dynarmic-6.4.8+ds/debian/patches/series 2023-07-20 19:04:31.000000000 +0200
@@ -1 +1,2 @@
revert-catch2-v3.patch
+soname.patch
diff -Nru dynarmic-6.4.8+ds/debian/patches/soname.patch dynarmic-6.4.8+ds/debian/patches/soname.patch
--- dynarmic-6.4.8+ds/debian/patches/soname.patch 1970-01-01 01:00:00.000000000 +0100
+++ dynarmic-6.4.8+ds/debian/patches/soname.patch 2023-07-20 19:06:45.000000000 +0200
@@ -0,0 +1,28 @@
+Description: build: set SOVERSION to major.minor
+ Dynarmic uses semantic versioning, restricting backwards-incompatible
+ changes to major releases. This backwards compatibility, though, refers
+ to API changes, and disregards ABI stability. Since having to maintain a
+ compatible ABI between major releases is somewhat of a pain, and it
+ arguably doesn't matter that much for dynarmic, setting the SOVERSION to
+ major.minor allows for breaking ABI changes to be made between feature
+ releases, and not only major ones.
+ .
+ To be clear, this patch doesn't try to enforce a new policy, but just
+ reflects how the project has handled ABI changes in the past. That is,
+ these kind of changes have been made already.
+Author: Andrea Pappacoda <and...@pappacoda.it>
+Origin: upstream, https://github.com/merryhime/dynarmic/pull/758
+Bug-Debian: https://bugs.debian.org/1041270
+Last-Update: 2023-07-20
+
+--- dynarmic-6.4.8+ds.orig/src/dynarmic/CMakeLists.txt
++++ dynarmic-6.4.8+ds/src/dynarmic/CMakeLists.txt
+@@ -455,7 +455,7 @@ target_include_directories(dynarmic PUBL
+ )
+ set_target_properties(dynarmic PROPERTIES
+ VERSION ${dynarmic_VERSION}
+- SOVERSION ${dynarmic_VERSION_MAJOR}
++ SOVERSION ${dynarmic_VERSION_MAJOR}.${dynarmic_VERSION_MINOR}
+ )
+ target_compile_options(dynarmic PRIVATE ${DYNARMIC_CXX_FLAGS})
+ target_link_libraries(dynarmic