[kmymoney4] [Bug 364387] kmymoney 4.8.0 builds libpayeeidentifier.so but asks for libkmm_payeeidentifier.so

Rémi Verschelde via KDE Bugzilla bugzilla_noreply at kde.org
Wed Jun 29 10:26:02 UTC 2016


https://bugs.kde.org/show_bug.cgi?id=364387

Rémi Verschelde <rverschelde at gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |rverschelde at gmail.com

--- Comment #10 from Rémi Verschelde <rverschelde at gmail.com> ---
As José mentions in comment 9, the problem is that libkmm_payeeidentifier.so is
not properly libified; it's only provided as a non-symlink .so and not a binary
.so.4.14.21 symlinked to the .so.

Excerpt from the (successful, after the parallel build issue was fixed) build
on Mageia 6 x86_64 [0]:

extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/libpayeeidentifier_iban_bic_widgets.so.4.14.21
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/libkmm_widgets.so.4.14.21
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/libkmm_kdchart.so.4.14.21
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/kmm_ofximport.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/kmm_weboob.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/kmm_csvimport.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/payeeidentifier_nationalAccount_ui.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/kmm_reconciliationreport.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/kmm_printcheck.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/payeeidentifier_iban_bic_delegates.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/kmm_icalendarexport.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/konlinetasks_sepa.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/kmm_csvexport.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/kcm_kmm_printcheck.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/payeeidentifier_ibanbic_storageplugin.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/konlinetasks_national.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/kcm_kmm_icalendarexport.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/kde4/payeeidentifier_nationalaccount_storageplugin.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/libkmm_plugin.so.4.14.21
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/libpayeeidentifier_nationalAccount.so.4.14.21
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/libkmm_payeeidentifier.so
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/libpayeeidentifier_iban_bic.so.4.14.21
extracting debug info from
/home/iurt/rpmbuild/BUILDROOT/kmymoney-4.8.0-1.mga6.x86_64/usr/lib64/libkmm_mymoney.so.4.14.21

I took the debuginfo extraction part, not because it is relevant for the issue,
but because it shows the inconsistency in the naming of the binary libs (the
ones from which debugging symbols will be extracted).

All libs (in /usr/lib64) have the following naming scheme:
libkmm_$name.so.4.14.21, apart from libkmm_payeeidentifier.so.
On the other hand plugins in /usr/lib64/kde4 don't have a suffix after the .so,
but that's fine for plugins.

This is a simple issue that needs to be fixed in your CMake buildsystem.

It's non critical in itself, but triggered various issues in Mageia's packaging
[1] that José needs to workaround:
- Since it had no .so suffix, José did not split libkmm_payeeidentifier.so in
its own library package. Still, RPM's autorequires know that
libkmm_mymoney.so.4.14.21 needs it, so RPM will look for it.
- Against due to the unconventional .so suffix, the file was globbed by
/usr/lib64/*.so and thus packaged within Mageia's lib64kmymoney-devel, i.e. the
development package meant to hold .so symlinks and headers.
- So the non-devel package that holds libkmm_mymoney.so.4.14.21 requires
libkmm_payeeidentifier.so()(64bit), which is provided by lib64kmymoney-devel
and thus needs to be installed, but it fails because the latter does not
provide libkmm_payeeidentifier(64bit) due to the lack of a
libkmm_payeeidentifier.so symlink. That triggers this Mageia bug report [2].

So all in all, this is fixable on Mageia's side by tweaking the packaging a
bit, but the root cause is an upstream bug that you don't name
libkmm_payeeidentifier.so with the proper lib suffix as done for the other
libs.

[0]
https://pkgsubmit.mageia.org/uploads/done/cauldron/core/release/20160627173851.tmb.duvel.20376/kmymoney-4.8.0-1.mga6/build.0.20160627173913.log
[1]
http://svnweb.mageia.org/packages/cauldron/kmymoney/current/SPECS/kmymoney.spec?view=markup
[2] https://bugs.mageia.org/show_bug.cgi?id=18815

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the KMyMoney-devel mailing list