Description of problem: When trying to compare 2 versions of the libsgutils2 library I always get "could not find alternate debug info" error message from a F-30 ppc64le system (but same behavior is on F-30/x86_64 and F-32/x86_64) [dan@talos tmp]$ abipkgdiff --no-parallel --keep-tmp-files --verbose --d1 sg3_utils-libs-debuginfo-1.44-3.fc32.ppc64le.rpm --d2 sg3_utils-libs-debuginfo-1.45-1.fc33.ppc64le.rpm sg3_utils-libs-1.44-3.fc32.ppc64le.rpm sg3_utils-libs-1.45-1.fc33.ppc64le.rpm abipkgdiff: Extracting package /tmp/sg3_utils-libs-debuginfo-1.44-3.fc32.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/debug_package1 ...abipkgdiff: DONE abipkgdiff: Extracting package /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1 ...abipkgdiff: DONE abipkgdiff: Analyzing the content of package /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm extracted to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1 ... abipkgdiff: Found 1 files in /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1 abipkgdiff: mapped binary with key './@soname:libsgutils2.so.2' abipkgdiff: Analysis of /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm DONE abipkgdiff: Extracting package /tmp/sg3_utils-libs-debuginfo-1.45-1.fc33.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/debug_package2 ...abipkgdiff: DONE abipkgdiff: Extracting package /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package2 ...abipkgdiff: DONE abipkgdiff: Analyzing the content of package /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm extracted to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package2 ... abipkgdiff: Found 1 files in /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package2 abipkgdiff: mapped binary with key './@soname:libsgutils2.so.2' abipkgdiff: Analysis of /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm DONE abipkgdiff: Comparing the ABIs of file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1/usr/lib64/libsgutils2.so.2.0.0 and /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package2/usr/lib64/libsgutils2.so.2.0.0... abipkgdiff: Reading file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1/usr/lib64/libsgutils2.so.2.0.0 ... abipkgdiff: Could not read file '/home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1/usr/lib64/libsgutils2.so.2.0.0' properly ==== Error happened during processing of libsgutils2.so.2.0.0: ==== could not find alternate debug info ==== End of error for libsgutils2.so.2.0.0 ==== abidw can read/process /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-2dt1F9/package1/usr/lib64/libsgutils2.so.2.0.0 without any issue Version-Release number of selected component (if applicable): libabigail-1.7-1.fc30.ppc64le libabigail-1.6-1.fc30.ppc64le libabigail-1.7-1.fc32.x86_64 libabigail-1.7-1.fc30.x86_64
This means that (for a reason) the alternate debug info (produced by the dwz tool) hasn't been found. It usually mean that the debuginfo package containing that alternate debug info wasn't found. In your case, the alternate debuginfo found in package sg3_utils-libs-debuginfo-1.44-3.fc32.ppc64le.rpm might be in the package named sg3_utils-debuginfo-1.44-3.fc32.ppc64le.rpm, and the one for for the sg3_utils-libs-debuginfo-1.45-1.fc33.ppc64le.rpm package might be in the package named sg3_utils-debuginfo-1.45-1.fc33.ppc64le.rpm. So in practice, what you want is to add --d1 sg3_utils-debuginfo-1.44-3.fc32.ppc64le.rpm --d2 sg3_utils-debuginfo-1.45-1.fc33.ppc64le.rpm to to the command line and see if it works.
Yes, the analysis works when both the main debuginfo and the subpackage debuginfo are specified. And yes, it's possible to specify --d1/--d2 multiple times in the command line. [dan@talos tmp]$ abipkgdiff --no-parallel --keep-tmp-files --verbose --d1 sg3_utils-libs-debuginfo-1.44-3.fc32.ppc64le.rpm --d1 sg3_utils-debuginfo-1.44-3.fc32.ppc64le.rpm --d2 sg3_utils-libs-debuginfo-1.45-1.fc33.ppc64le.rpm --d2 sg3_utils-debuginfo-1.45-1.fc33.ppc64le.rpm sg3_utils-libs-1.44-3.fc32.ppc64le.rpm sg3_utils-libs-1.45-1.fc33.ppc64le.rpm abipkgdiff: Extracting package /tmp/sg3_utils-libs-debuginfo-1.44-3.fc32.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/debug_package1 ...abipkgdiff: DONE abipkgdiff: Extracting package /tmp/sg3_utils-debuginfo-1.44-3.fc32.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/debug_package1 ...abipkgdiff: DONE abipkgdiff: Extracting package /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1 ...abipkgdiff: DONE abipkgdiff: Analyzing the content of package /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm extracted to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1 ... abipkgdiff: Found 1 files in /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1 abipkgdiff: mapped binary with key './@soname:libsgutils2.so.2' abipkgdiff: Analysis of /tmp/sg3_utils-libs-1.44-3.fc32.ppc64le.rpm DONE abipkgdiff: Extracting package /tmp/sg3_utils-libs-debuginfo-1.45-1.fc33.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/debug_package2 ...abipkgdiff: DONE abipkgdiff: Extracting package /tmp/sg3_utils-debuginfo-1.45-1.fc33.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/debug_package2 ...abipkgdiff: DONE abipkgdiff: Extracting package /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2 ...abipkgdiff: DONE abipkgdiff: Analyzing the content of package /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm extracted to /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2 ... abipkgdiff: Found 1 files in /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2 abipkgdiff: mapped binary with key './@soname:libsgutils2.so.2' abipkgdiff: Analysis of /tmp/sg3_utils-libs-1.45-1.fc33.ppc64le.rpm DONE abipkgdiff: Comparing the ABIs of file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1/usr/lib64/libsgutils2.so.2.0.0 and /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2/usr/lib64/libsgutils2.so.2.0.0... abipkgdiff: Reading file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1/usr/lib64/libsgutils2.so.2.0.0 ... abipkgdiff: DONE reading file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1/usr/lib64/libsgutils2.so.2.0.0 abipkgdiff: Reading file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2/usr/lib64/libsgutils2.so.2.0.0 ... abipkgdiff: DONE reading file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2/usr/lib64/libsgutils2.so.2.0.0 abipkgdiff: Comparing the ABIs of: /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1/usr/lib64/libsgutils2.so.2.0.0 /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2/usr/lib64/libsgutils2.so.2.0.0 abipkgdiff: Comparing the ABIs of file /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package1/usr/lib64/libsgutils2.so.2.0.0 and /home/dan/.cache/libabigail/abipkgdiff-tmp-dir-k49Dte/package2/usr/lib64/libsgutils2.so.2.0.0 is DONE ================ changes of 'libsgutils2.so.2.0.0'=============== Functions changes summary: 1 Removed, 2 Changed (30 filtered out), 11 Added functions Variables changes summary: 1 Removed, 8 Changed, 3 Added variables ... ================ end of changes of 'libsgutils2.so.2.0.0'===============
fedabipkgdiff stops to work by this reason , i.e. abipkgdiff needs two debuginfos instead just the counterpart debuginfo