Bug 1401172 - Missing symbol versioning provided by libldb.so with strict CFLAGS
Summary: Missing symbol versioning provided by libldb.so with strict CFLAGS
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: libldb
Version: 26
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Jakub Hrozek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-12-03 09:57 UTC by Lukas Slebodnik
Modified: 2017-04-03 16:09 UTC (History)
7 users (show)

Fixed In Version: libldb-1.1.29-5.fc26
Clone Of:
Environment:
Last Closed: 2017-04-03 16:09:58 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
Spec file changes (4.18 KB, application/mbox)
2016-12-05 13:45 UTC, Lukas Slebodnik
no flags Details

Description Lukas Slebodnik 2016-12-03 09:57:31 UTC
Description of problem:
The latest upgrade to libldb-1.1.29 does not provide
the same versioned functions as previous version

Version-Release number of selected component (if applicable):
libldb-1.1.29-1.fc26

How reproducible:
Deterministic

Steps to Reproduce:
1. rpm -q --provides libldb-1.1.29-1.fc26.x86_64

Actual results:
libldb = 1.1.29-1.fc26
libldb(x86-64) = 1.1.29-1.fc26
libldb.so.1()(64bit)

Expected results:
bundled(libreplace)
libldb = 1.1.28-1.fc26
libldb(x86-64) = 1.1.28-1.fc26
libldb.so.1()(64bit)
libldb.so.1(LDB_0.9.10)(64bit)
libldb.so.1(LDB_0.9.12)(64bit)
libldb.so.1(LDB_0.9.15)(64bit)
libldb.so.1(LDB_0.9.16)(64bit)
// and many others


Additional info:
It's not bug in rpmbuild because symbols are missing in library

sh# objdump -p /usr/lib64/libldb.so.1 | grep  LDB_
sh# echo $?
1

Comment 1 Lukas Slebodnik 2016-12-03 10:05:23 UTC
sh# objdump -p /usr/lib64/libtdb.so.1 | grep  TDB_
sh# echo $?
1

Comment 2 Lukas Slebodnik 2016-12-03 10:07:30 UTC
The library requires versioned symbols from libtdb. But they are not provided by latest version of libtdb => BZ1401175

rpm -q --requires libldb | grep TDB
libtdb.so.1(TDB_1.2.1)(64bit)

Comment 3 Lukas Slebodnik 2016-12-03 17:46:04 UTC
Actually, it is very likely a bug in toolchain because rebuilding the same
srpm for fedora 25 gives correct result.

Anyway, this BZ should be considered as tracer for rebuilding libldb after fixing
the problem.

Comment 4 Lukas Slebodnik 2016-12-03 18:37:02 UTC
There was a change in redhat-rpm-config
diff -u -r 59/usr/lib/rpm/redhat/macros 60/usr/lib/rpm/redhat/macros
--- 59/usr/lib/rpm/redhat/macros        2016-12-03 19:11:47.961580325 +0100
+++ 60/usr/lib/rpm/redhat/macros        2016-12-03 19:11:58.676645157 +0100
@@ -147,7 +147,7 @@
 
 %__global_compiler_flags       -O2 -g -pipe -Wall -Werror=format-security -Wp,-_hardened_cflags}
 
-%__global_cflags       %{optflags}
+%__global_cflags       %{optflags} -Werror=implicit-function-declaration -Werro
 %__global_cxxflags     %{optflags}
 %__global_fflags       %{optflags} -I%_fmoddir
 %__global_fcflags      %{optflags} -I%_fmoddir


Extra compiler error flags caused that -Wl,--version was not recognized by waf.
> Checking uname sysname type              : not found 
> Checking uname machine type              : not found 
> Checking uname release type              : not found 
> Checking uname version type              : not found
> Checking for rpath library support       : not found 
> Checking for -Wl,--version-script support  : not found> Checking for C99 vsnprintf                                                        : not found 
> Checking for HAVE_SHARED_MMAP                                                     : not found 
> Checking for HAVE_MREMAP                                                          : not found

Comment 5 Lukas Slebodnik 2016-12-05 13:45:36 UTC
Created attachment 1228064 [details]
Spec file changes

Please consider to fix few spec file related patches.
The last one is required to pull correctly renamed pacakges
and therefore depends on BZ1401225 BZ1401226 BZ1401175

Comment 6 Adam Williamson 2016-12-05 22:46:19 UTC
This causes many openQA tests to fail, due to dependency chains that run through the problematic libldb (e.g. sssd-ipa , samba-client-libs ).

It's a clear F26 Alpha automatic blocker, as it prevents the composition of the Server DVD image: "Bugs which entirely prevent the composition of one or more of the release-blocking images required to be built for a currently-pending (pre-)release" - https://fedoraproject.org/wiki/QA:SOP_blocker_bug_process#Automatic_blockers

Comment 7 Adam Williamson 2016-12-05 22:47:23 UTC
sorry, I cited the wrong reason there. It actually hits "Unresolved dependencies on a release-blocking DVD-style (offline installer) image" - the Server DVD does compose, but contains packages with broken deps.

Comment 8 Adam Williamson 2016-12-09 19:15:54 UTC
This is fixed, for now, by reverting the redhat-rpm-config change and rebuilding ldb/tdb. If the change is made again, ldb/tdb will need to be fixed for it.

Comment 9 Lukas Slebodnik 2017-01-03 09:16:45 UTC
Patches from BZ1401231 required fro this BZ were pushed to samba master
* 59abfcb7945103cd4031abac86d51cd51ce052ca
* be12f82cf1ca652b06995e84971c878621315d24
* f4c0a750d4adebcf2342a44e85f04526c34268c8
* b7ae41e6ca133e08f1dc62bd49436f51f490f46b

It would be good to backport them even thought -Werror=implicit-function-declaration -Werror=implicit-int were removed from redhat-rpm-config

Comment 10 Fedora End Of Life 2017-02-28 10:43:15 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 26 development cycle.
Changing version to '26'.

Comment 11 Fedora Update System 2017-04-01 13:34:27 UTC
libldb-1.1.29-5.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-a1a98e19f0

Comment 12 Fedora Update System 2017-04-02 00:52:28 UTC
libldb-1.1.29-5.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-a1a98e19f0

Comment 13 Fedora Update System 2017-04-03 16:09:58 UTC
libldb-1.1.29-5.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.