Patchwork systemtap fails to build

login
register
mail settings
Submitter Boszormenyi Zoltan
Date March 12, 2014, 11:09 a.m.
Message ID <53204079.9030806@pr.hu>
Download mbox | patch
Permalink /patch/68497/
State Not Applicable
Delegated to: Otavio Salvador
Headers show

Comments

Boszormenyi Zoltan - March 12, 2014, 11:09 a.m.
Hi,

I was trying to "bitbake core-image-lsb-sdk" and it failed with the error below.
Even after "repo sync ; bitbake -c clean systemtap"

| In file included from /usr/include/stdio.h:27:0,
|                  from 
/home/zozo/fsl-community-bsp/build-master-next/tmp/work/x86_64-linux/systemtap-native/2.5+gitAUTOINC+508059f048-r0/git/staprun/staprun.h:18,
|                  from 
/home/zozo/fsl-community-bsp/build-master-next/tmp/work/x86_64-linux/systemtap-native/2.5+gitAUTOINC+508059f048-r0/git/staprun/staprun.c:24:
| /usr/include/features.h:148:3: error: #warning "_BSD_SOURCE and _SVID_SOURCE are 
deprecated, use _DEFAULT_SOURCE" [-Werror=cpp]
|  # warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
|    ^
| cc1: all warnings being treated as errors
| make[3]: *** [staprun-staprun.o] Error 1

I am using a hybrid system, host is mostly Fedora 20 with some
packages upgraded from Rawhide, like GLIBC 2.19.90.
The attached (shortsighted) patch allows it to build here.

Best regards,
Zoltán Böszörményi

Patch

diff --git a/meta/recipes-kernel/systemtap/systemtap/systemtap-_BSD_SOURCE.patch b/meta/recipes-kernel/systemtap/systemtap/systemtap-_BSD_SOURCE.patch
new file mode 100644
index 0000000..62afbd2
--- /dev/null
+++ b/meta/recipes-kernel/systemtap/systemtap/systemtap-_BSD_SOURCE.patch
@@ -0,0 +1,27 @@ 
+diff --git a/staprun/staprun.c b/staprun/staprun.c
+index e4ced77..1db6f5b 100644
+--- a/staprun/staprun.c
++++ b/staprun/staprun.c
+@@ -13,21 +13,21 @@
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+  * GNU General Public License for more details.
+  *
+  * You should have received a copy of the GNU General Public License
+  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+  *
+  */
+ 
+ #define _XOPEN_SOURCE
+-#define _BSD_SOURCE
++#define _DEFAULT_SOURCE
+ #include "staprun.h"
+ #include "../privilege.h"
+ #include "../runtime/k_syms.h"
+ #include <string.h>
+ #include <sys/uio.h>
+ #include <glob.h>
+ #include <time.h>
+ #include <sys/prctl.h>
+ #include <sys/utsname.h>
+ 
diff --git a/meta/recipes-kernel/systemtap/systemtap_git.inc b/meta/recipes-kernel/systemtap/systemtap_git.inc
index 56db7b2..72cd313 100644
--- a/meta/recipes-kernel/systemtap/systemtap_git.inc
+++ b/meta/recipes-kernel/systemtap/systemtap_git.inc
@@ -1,18 +1,19 @@ 
 LICENSE = "GPLv2"
 LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
 SRCREV = "508059f04842ed85d10bfbec8a9c688d57368860"
 PV = "2.5+git${SRCPV}"
 
 SRC_URI = "git://sourceware.org/git/systemtap.git \
            file://docproc-build-fix.patch \
            file://obsolete_automake_macros.patch \
+           file://systemtap-_BSD_SOURCE.patch \
           "
 
 FILESPATH = "${FILE_DIRNAME}/systemtap"
 
 # systemtap doesn't support mips
 COMPATIBLE_HOST = '(x86_64|i.86|powerpc|arm|aarch64).*-linux'
 
 S = "${WORKDIR}/git"
 
 # systemtap can't be built without optimization, if someone tries to compile an