Hello community, here is the log from the commit of package systemtap for openSUSE:Factory checked in at 2012-07-30 09:47:09 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/systemtap (Old) and /work/SRC/openSUSE:Factory/.systemtap.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "systemtap", Maintainer is "[email protected]" Changes: -------- --- /work/SRC/openSUSE:Factory/systemtap/systemtap-docs.changes 2012-06-25 14:56:12.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.systemtap.new/systemtap-docs.changes 2012-07-30 09:47:33.000000000 +0200 @@ -1,0 +2,5 @@ +Fri Jul 27 10:29:23 UTC 2012 - [email protected] + +- Fix build with glibc 2.16 + +------------------------------------------------------------------- --- /work/SRC/openSUSE:Factory/systemtap/systemtap.changes 2012-06-25 14:56:12.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.systemtap.new/systemtap.changes 2012-07-30 09:47:33.000000000 +0200 @@ -1,0 +2,5 @@ +Fri Jul 27 10:29:19 UTC 2012 - [email protected] + +- Fix build with glibc 2.16 + +------------------------------------------------------------------- New: ---- systemtap-linux-types.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ systemtap-docs.spec ++++++ --- /var/tmp/diff_new_pack.megPf4/_old 2012-07-30 09:48:09.000000000 +0200 +++ /var/tmp/diff_new_pack.megPf4/_new 2012-07-30 09:48:09.000000000 +0200 @@ -37,6 +37,7 @@ Patch1: systemtap-docdir-fix.diff Patch2: systemtap-xmlto-fop.diff Patch3: systemtap-docs-autoconf-version.diff +Patch4: systemtap-linux-types.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildArch: noarch @@ -49,6 +50,7 @@ %patch1 -p1 %patch2 -p1 %patch3 -p1 +%patch4 -p1 %build # fix interpreter ++++++ systemtap.spec ++++++ --- /var/tmp/diff_new_pack.megPf4/_old 2012-07-30 09:48:09.000000000 +0200 +++ /var/tmp/diff_new_pack.megPf4/_new 2012-07-30 09:48:09.000000000 +0200 @@ -37,6 +37,7 @@ Source2: README-BEFORE-ADDING-PATCHES Source3: stap-server.conf Patch0: link-with-pthread.patch +Patch4: systemtap-linux-types.patch Obsoletes: systemtap-client < 1.5 Requires: %{name}-runtime = %{version}-%{release} BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -84,6 +85,7 @@ %prep %setup -q %patch0 -p1 +%patch4 -p1 %build %configure --disable-docs --docdir=%{_docdir}/systemtap ++++++ systemtap-linux-types.patch ++++++ From: Josh Stone <[email protected]> Subject: Fix build with glibc 2.16 Date: 2012-07-27 Upstream: yes Signed-Off-by: [email protected] >From Fedora: Squashed cherry-picks from upstream: commit 037853b4644bb6ebd68e2f1fac11c3636f551d8e Author: Josh Stone <[email protected]> Date: Mon Jul 9 12:07:48 2012 -0700 Fix the build with glibc 2.16 With our elevated compiler warnings as errors, we got: mainloop.c: In function 'stp_main_loop': mainloop.c:581:3: error: signed and unsigned type in conditional expression [-Werror=sign-compare] mainloop.c:581:3: error: signed and unsigned type in conditional expression [-Werror=sign-compare] mainloop.c:583:35: error: signed and unsigned type in conditional expression [-Werror=sign-compare] mainloop.c:583:35: error: signed and unsigned type in conditional expression [-Werror=sign-compare] mainloop.c:631:2: error: signed and unsigned type in conditional expression [-Werror=sign-compare] mainloop.c:631:2: error: signed and unsigned type in conditional expression [-Werror=sign-compare] cc1: all warnings being treated as errors This turns out to be a macro fight between glibc-2.16 and kernel-headers, via including linux/types.h. We apparently don't even need that header, so removing it lets us proceed normally. Those curious can watch this bug to see how the conflict is resolved: https://bugzilla.redhat.com/show_bug.cgi?id=837641 commit d9b0c1c8712ff255d4b6171fdb0e1ec39f444501 Author: Josh Stone <[email protected]> Date: Wed Jul 18 18:33:12 2012 -0700 Further tweak to glibc/kernel-headers workaround ... following commit 037853b4644bb6ebd68e2f1fac11c3636f551d8e, for https://bugzilla.redhat.com/show_bug.cgi?id=840902 Seems it's not always possible to avoid linux/types.h for the conflict it presents with sys/select.h. Now include linux/types.h very early, so glibc can stomp over it with #undef and #define, rather than vice versa. diff --git a/runtime/staprun/staprun.h b/runtime/staprun/staprun.h index d01a291..e9ce117 100644 --- a/runtime/staprun/staprun.h +++ b/runtime/staprun/staprun.h @@ -10,6 +10,11 @@ * Copyright (C) 2005-2008 Red Hat Inc. */ #define _FILE_OFFSET_BITS 64 + +/* kernel-headers and glibc like to stomp on each other. We include this early + * so we can ensure glibc's own definitions will win. rhbz 837641 & 840902 */ +#include <linux/types.h> + #include <stdio.h> #include <stdlib.h> #include <ctype.h> @@ -28,7 +33,6 @@ #include <sys/poll.h> #include <pthread.h> #include <sys/socket.h> -#include <linux/types.h> #include <linux/limits.h> #include <sys/wait.h> #include <sys/statfs.h> -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
