rhbz#1401172 - Missing symbol versioning provided by libldb.so with strict CFLAGS
Fix configure time detection with -Werror=implicit-function-declaration -Werror=implicit-int
This commit is contained in:
parent
725e5b329a
commit
0860bd70dc
99
0001-lib-replace-Fix-detection-of-features.patch
Normal file
99
0001-lib-replace-Fix-detection-of-features.patch
Normal file
@ -0,0 +1,99 @@
|
|||||||
|
From b7ae41e6ca133e08f1dc62bd49436f51f490f46b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Tue, 6 Dec 2016 18:07:18 +0100
|
||||||
|
Subject: [PATCH 1/4] lib replace: Fix detection of features
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
If configure script is executed with stricter cflags
|
||||||
|
"-Werrorr=implicit-function-declaration -Werror=implicit-int"
|
||||||
|
then detection of few features will fail.
|
||||||
|
|
||||||
|
Checking for C99 vsnprintf : not found
|
||||||
|
Checking for HAVE_SHARED_MMAP : not found
|
||||||
|
Checking for HAVE_MREMAP : not found
|
||||||
|
|
||||||
|
lib/replace/test/shared_mmap.c:18:1:
|
||||||
|
error: return type defaults to ‘int’ [-Werror=implicit-int]
|
||||||
|
main()
|
||||||
|
^~~~
|
||||||
|
lib/replace/test/shared_mmap.c: In function ‘main’:
|
||||||
|
lib/replace/test/shared_mmap.c:25:16:
|
||||||
|
error: implicit declaration of function ‘exit’
|
||||||
|
[-Werror=implicit-function-declaration]
|
||||||
|
if (fd == -1) exit(1);
|
||||||
|
^~~~
|
||||||
|
lib/replace/test/shared_mmap.c:25:16:
|
||||||
|
warning: incompatible implicit declaration of built-in function ‘exit’
|
||||||
|
lib/replace/test/shared_mmap.c:25:16:
|
||||||
|
note: include ‘<stdlib.h>’ or provide a declaration of ‘exit’
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Reviewed-by: Andreas Schneider <asn@samba.org>
|
||||||
|
Reviewed-by: Ralph Boehme <slow@samba.org>
|
||||||
|
---
|
||||||
|
lib/replace/test/shared_mmap.c | 5 ++++-
|
||||||
|
lib/replace/test/shared_mremap.c | 5 ++++-
|
||||||
|
lib/replace/test/snprintf.c | 2 +-
|
||||||
|
3 files changed, 9 insertions(+), 3 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/lib/replace/test/shared_mmap.c b/lib/replace/test/shared_mmap.c
|
||||||
|
index 50dad8d69648a6993e64d3d0433576319e1ad462..9d6e3fc95aa5d0981df1530582236ba826d1a432 100644
|
||||||
|
--- a/lib/replace/test/shared_mmap.c
|
||||||
|
+++ b/lib/replace/test/shared_mmap.c
|
||||||
|
@@ -4,6 +4,9 @@
|
||||||
|
#if defined(HAVE_UNISTD_H)
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
+#ifdef HAVE_STDLIB_H
|
||||||
|
+#include <stdlib.h>
|
||||||
|
+#endif
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
@@ -15,7 +18,7 @@
|
||||||
|
#define MAP_FILE 0
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-main()
|
||||||
|
+int main(void)
|
||||||
|
{
|
||||||
|
int *buf;
|
||||||
|
int i;
|
||||||
|
diff --git a/lib/replace/test/shared_mremap.c b/lib/replace/test/shared_mremap.c
|
||||||
|
index 05032ad12e3aa0feb755207ea032216e0665fe0a..08040e2e595f356155f4fb5977b3637b1e76aefb 100644
|
||||||
|
--- a/lib/replace/test/shared_mremap.c
|
||||||
|
+++ b/lib/replace/test/shared_mremap.c
|
||||||
|
@@ -3,6 +3,9 @@
|
||||||
|
#if defined(HAVE_UNISTD_H)
|
||||||
|
#include <unistd.h>
|
||||||
|
#endif
|
||||||
|
+#ifdef HAVE_STDLIB_H
|
||||||
|
+#include <stdlib.h>
|
||||||
|
+#endif
|
||||||
|
#include <sys/mman.h>
|
||||||
|
#include <sys/types.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
@@ -18,7 +21,7 @@
|
||||||
|
#define MAP_FAILED (int *)-1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-main()
|
||||||
|
+int main(void)
|
||||||
|
{
|
||||||
|
int *buf;
|
||||||
|
int fd;
|
||||||
|
diff --git a/lib/replace/test/snprintf.c b/lib/replace/test/snprintf.c
|
||||||
|
index d06630bcc98d54033fdb5c7e62ecb91eae13e01b..77473f067b26589330d8d1a602d3334332795837 100644
|
||||||
|
--- a/lib/replace/test/snprintf.c
|
||||||
|
+++ b/lib/replace/test/snprintf.c
|
||||||
|
@@ -26,4 +26,4 @@ void foo(const char *format, ...)
|
||||||
|
printf("1");
|
||||||
|
exit(0);
|
||||||
|
}
|
||||||
|
-main() { foo("hello"); }
|
||||||
|
+int main(void) { foo("hello"); }
|
||||||
|
--
|
||||||
|
2.11.1
|
||||||
|
|
45
0002-WAF-Fix-detection-of-linker-features.patch
Normal file
45
0002-WAF-Fix-detection-of-linker-features.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From f4c0a750d4adebcf2342a44e85f04526c34268c8 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Tue, 6 Dec 2016 18:07:36 +0100
|
||||||
|
Subject: [PATCH 2/4] WAF: Fix detection of linker features
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Following check of linker feature failed with strict CFLAGS
|
||||||
|
"-Werrorr=implicit-function-declaration -Werror=implicit-int"
|
||||||
|
|
||||||
|
Checking for rpath library support : not found
|
||||||
|
Checking for -Wl,--version-script support : not found
|
||||||
|
|
||||||
|
../main.c: In function ‘main’:
|
||||||
|
../main.c:1:26: error: implicit declaration of function ‘lib_func’
|
||||||
|
[-Werror=implicit-function-declaration]
|
||||||
|
int main(void) {return !(lib_func() == 42);}
|
||||||
|
^~~~~~~~
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Reviewed-by: Andreas Schneider <asn@samba.org>
|
||||||
|
Reviewed-by: Ralph Boehme <slow@samba.org>
|
||||||
|
---
|
||||||
|
buildtools/wafsamba/samba_conftests.py | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/buildtools/wafsamba/samba_conftests.py b/buildtools/wafsamba/samba_conftests.py
|
||||||
|
index 045f858e9cdaae7ee5754a2c7fbef6642a7fee59..c9f8fdc0131838b44dc92196fa95c6b2f7aea506 100644
|
||||||
|
--- a/buildtools/wafsamba/samba_conftests.py
|
||||||
|
+++ b/buildtools/wafsamba/samba_conftests.py
|
||||||
|
@@ -286,7 +286,9 @@ def CHECK_LIBRARY_SUPPORT(conf, rpath=False, version_script=False, msg=None):
|
||||||
|
os.makedirs(subdir)
|
||||||
|
|
||||||
|
Utils.writef(os.path.join(subdir, 'lib1.c'), 'int lib_func(void) { return 42; }\n')
|
||||||
|
- Utils.writef(os.path.join(dir, 'main.c'), 'int main(void) {return !(lib_func() == 42);}\n')
|
||||||
|
+ Utils.writef(os.path.join(dir, 'main.c'),
|
||||||
|
+ 'int lib_func(void);\n'
|
||||||
|
+ 'int main(void) {return !(lib_func() == 42);}\n')
|
||||||
|
|
||||||
|
bld = Build.BuildContext()
|
||||||
|
bld.log = conf.log
|
||||||
|
--
|
||||||
|
2.11.1
|
||||||
|
|
47
0003-WAF-Fix-detection-os-sysname.patch
Normal file
47
0003-WAF-Fix-detection-os-sysname.patch
Normal file
@ -0,0 +1,47 @@
|
|||||||
|
From be12f82cf1ca652b06995e84971c878621315d24 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Tue, 6 Dec 2016 18:07:43 +0100
|
||||||
|
Subject: [PATCH 3/4] WAF: Fix detection os sysname ...
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Detection of sysname failed with stricter CFLAGS
|
||||||
|
"-Werrorr=implicit-function-declaration -Werror=implicit-int"
|
||||||
|
|
||||||
|
Checking uname sysname type : not found
|
||||||
|
Checking uname machine type : not found
|
||||||
|
Checking uname release type : not found
|
||||||
|
Checking uname version type : not found
|
||||||
|
|
||||||
|
../test.c: In function ‘main’:
|
||||||
|
../test.c:8:32: error: implicit declaration of function ‘printf’
|
||||||
|
[-Werror=implicit-function-declaration]
|
||||||
|
printf("%s", n.sysname);
|
||||||
|
^~~~~~
|
||||||
|
../test.c:8:32: warning: incompatible implicit declaration
|
||||||
|
of built-in function ‘printf’
|
||||||
|
../test.c:8:32: note: include ‘<stdio.h>’ or provide a declaration of ‘printf’
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Reviewed-by: Andreas Schneider <asn@samba.org>
|
||||||
|
Reviewed-by: Ralph Boehme <slow@samba.org>
|
||||||
|
---
|
||||||
|
buildtools/wafsamba/samba_conftests.py | 1 +
|
||||||
|
1 file changed, 1 insertion(+)
|
||||||
|
|
||||||
|
diff --git a/buildtools/wafsamba/samba_conftests.py b/buildtools/wafsamba/samba_conftests.py
|
||||||
|
index c9f8fdc0131838b44dc92196fa95c6b2f7aea506..72e432164984c7faa9bc93745d401b5c38849d37 100644
|
||||||
|
--- a/buildtools/wafsamba/samba_conftests.py
|
||||||
|
+++ b/buildtools/wafsamba/samba_conftests.py
|
||||||
|
@@ -438,6 +438,7 @@ def CHECK_UNAME(conf):
|
||||||
|
ret = True
|
||||||
|
for v in "sysname machine release version".split():
|
||||||
|
if not conf.CHECK_CODE('''
|
||||||
|
+ int printf(const char *format, ...);
|
||||||
|
struct utsname n;
|
||||||
|
if (uname(&n) == -1) return -1;
|
||||||
|
printf("%%s", n.%s);
|
||||||
|
--
|
||||||
|
2.11.1
|
||||||
|
|
45
0004-WAF-Fix-detection-of-IPv6.patch
Normal file
45
0004-WAF-Fix-detection-of-IPv6.patch
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
From 59abfcb7945103cd4031abac86d51cd51ce052ca Mon Sep 17 00:00:00 2001
|
||||||
|
From: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Date: Tue, 6 Dec 2016 18:07:50 +0100
|
||||||
|
Subject: [PATCH 4/4] WAF: Fix detection of IPv6
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset=UTF-8
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
Detection of IPv6 failed with strict CFLAGS due to missing
|
||||||
|
header file.
|
||||||
|
|
||||||
|
Checking for HAVE_IPV6 : not found
|
||||||
|
|
||||||
|
../test.c: In function ‘main’:
|
||||||
|
../test.c:226:34: error: implicit declaration of function
|
||||||
|
‘if_nametoindex’ [-Werror=implicit-function-declaration]
|
||||||
|
int idx = if_nametoindex("iface1");
|
||||||
|
^~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Signed-off-by: Lukas Slebodnik <lslebodn@redhat.com>
|
||||||
|
Reviewed-by: Andreas Schneider <asn@samba.org>
|
||||||
|
Reviewed-by: Ralph Boehme <slow@samba.org>
|
||||||
|
|
||||||
|
Autobuild-User(master): Ralph Böhme <slow@samba.org>
|
||||||
|
Autobuild-Date(master): Mon Jan 2 18:03:20 CET 2017 on sn-devel-144
|
||||||
|
---
|
||||||
|
lib/replace/wscript | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/lib/replace/wscript b/lib/replace/wscript
|
||||||
|
index 1dfd90293ea6835a22510242e063bf3d2a20d263..ea0d5d09b895a7a119eb783f803ff5b9019e37df 100644
|
||||||
|
--- a/lib/replace/wscript
|
||||||
|
+++ b/lib/replace/wscript
|
||||||
|
@@ -189,7 +189,7 @@ def configure(conf):
|
||||||
|
''',
|
||||||
|
define='HAVE_IPV6',
|
||||||
|
lib='nsl socket',
|
||||||
|
- headers='sys/socket.h netdb.h netinet/in.h')
|
||||||
|
+ headers='sys/socket.h netdb.h netinet/in.h net/if.h')
|
||||||
|
|
||||||
|
if conf.CONFIG_SET('HAVE_SYS_UCONTEXT_H') and conf.CONFIG_SET('HAVE_SIGNAL_H'):
|
||||||
|
conf.CHECK_CODE('''
|
||||||
|
--
|
||||||
|
2.11.1
|
||||||
|
|
15
libldb.spec
15
libldb.spec
@ -14,7 +14,7 @@
|
|||||||
|
|
||||||
Name: libldb
|
Name: libldb
|
||||||
Version: 1.1.29
|
Version: 1.1.29
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
Group: Development/Libraries
|
Group: Development/Libraries
|
||||||
Summary: A schema-less, ldap like, API and database
|
Summary: A schema-less, ldap like, API and database
|
||||||
Requires: libtalloc%{?_isa} >= %{talloc_version}
|
Requires: libtalloc%{?_isa} >= %{talloc_version}
|
||||||
@ -47,6 +47,10 @@ BuildRequires: python3-tevent
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
# Patches
|
# Patches
|
||||||
|
Patch0001: 0001-lib-replace-Fix-detection-of-features.patch
|
||||||
|
Patch0002: 0002-WAF-Fix-detection-of-linker-features.patch
|
||||||
|
Patch0003: 0003-WAF-Fix-detection-os-sysname.patch
|
||||||
|
Patch0004: 0004-WAF-Fix-detection-of-IPv6.patch
|
||||||
|
|
||||||
%description
|
%description
|
||||||
An extensible library that implements an LDAP like API to access remote LDAP
|
An extensible library that implements an LDAP like API to access remote LDAP
|
||||||
@ -139,6 +143,10 @@ Development files for the Python bindings for the LDB library
|
|||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n ldb-%{version}
|
%setup -q -n ldb-%{version}
|
||||||
|
%patch0001 -p1
|
||||||
|
%patch0002 -p1
|
||||||
|
%patch0003 -p1
|
||||||
|
%patch0004 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
|
||||||
@ -253,6 +261,11 @@ rm -f $RPM_BUILD_ROOT/%{_mandir}/man3/_*
|
|||||||
%endif
|
%endif
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Sat Apr 01 2017 Lukas Slebodnik <lslebodn@redhat.com> - 1.1.29-5
|
||||||
|
- rhbz#1401172 - Missing symbol versioning provided by libldb.so with strict CFLAGS
|
||||||
|
- Fix configure time detection with -Werror=implicit-function-declaration
|
||||||
|
-Werror=implicit-int
|
||||||
|
|
||||||
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.29-4
|
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 1.1.29-4
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user