* [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
@ 2015-02-04 17:01 Jan Beulich
2015-02-04 23:33 ` Don Slutz
2015-02-05 11:08 ` Ian Jackson
0 siblings, 2 replies; 24+ messages in thread
From: Jan Beulich @ 2015-02-04 17:01 UTC (permalink / raw)
To: xen-devel; +Cc: Ian Campbell, Ian Jackson, Wei Liu, Stefano Stabellini
[-- Attachment #1: Type: text/plain, Size: 2880 bytes --]
The former gets enforced by our debug builds, the latter appears to be
not uncommon for certain distros' Python packages. Newer glibc warns on
uses of _FORTIFY_SOURCE without optimization being enabled, which with
-Werror causes the build to fail.
Determine Python's intended flags to be passed to the C compiler via
"python-config --cflags", and replace -O0 by -O1 when a non-zero value
gets set for _FORTIFY_SOURCE.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -2,15 +2,24 @@
XEN_ROOT = $(CURDIR)/../..
include $(XEN_ROOT)/tools/Rules.mk
+py_cflags := $(shell $(PYTHON)-config --cflags)
+PY_CFLAGS = $(if $(strip $(py_cflags)),,\
+ $(error '$(PYTHON)-config --cflags' produced no output))\
+ $(if $(filter -D_FORTIFY_SOURCE=%,\
+ $(filter-out -D_FORTIFY_SOURCE=0,\
+ $(py_cflags))),\
+ $(patsubst -O0,-O1,$(CFLAGS)),\
+ $(CFLAGS)) $(APPEND_LDFLAGS)
+
.PHONY: all
all: build
.PHONY: build
build:
- CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
.PHONY: install
install: all
- CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
--install-scripts=$(LIBEXEC_BIN) --force
set -e; if [ $(BINDIR) != $(LIBEXEC_BIN) -a \
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -4,6 +4,15 @@ include $(XEN_ROOT)/tools/Rules.mk
.PHONY: all
all: build
+py_cflags := $(shell $(PYTHON)-config --cflags)
+PY_CFLAGS = $(if $(strip $(py_cflags)),,\
+ $(error '$(PYTHON)-config --cflags' produced no output))\
+ $(if $(filter -D_FORTIFY_SOURCE=%,\
+ $(filter-out -D_FORTIFY_SOURCE=0,\
+ $(py_cflags))),\
+ $(patsubst -O0,-O1,$(CFLAGS)),\
+ $(CFLAGS)) $(LDFLAGS) $(APPEND_LDFLAGS)
+
.PHONY: build
build: genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \
$(XEN_ROOT)/tools/libxl/idl.py
@@ -11,11 +20,11 @@ build: genwrap.py $(XEN_ROOT)/tools/libx
$(XEN_ROOT)/tools/libxl/libxl_types.idl \
xen/lowlevel/xl/_pyxl_types.h \
xen/lowlevel/xl/_pyxl_types.c
- CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
.PHONY: install
install:
- CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
.PHONY: test
[-- Attachment #2: tools-python-build.patch --]
[-- Type: text/plain, Size: 2935 bytes --]
tools: work around collision of -O0 and -D_FORTIFY_SOURCE
The former gets enforced by our debug builds, the latter appears to be
not uncommon for certain distros' Python packages. Newer glibc warns on
uses of _FORTIFY_SOURCE without optimization being enabled, which with
-Werror causes the build to fail.
Determine Python's intended flags to be passed to the C compiler via
"python-config --cflags", and replace -O0 by -O1 when a non-zero value
gets set for _FORTIFY_SOURCE.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -2,15 +2,24 @@
XEN_ROOT = $(CURDIR)/../..
include $(XEN_ROOT)/tools/Rules.mk
+py_cflags := $(shell $(PYTHON)-config --cflags)
+PY_CFLAGS = $(if $(strip $(py_cflags)),,\
+ $(error '$(PYTHON)-config --cflags' produced no output))\
+ $(if $(filter -D_FORTIFY_SOURCE=%,\
+ $(filter-out -D_FORTIFY_SOURCE=0,\
+ $(py_cflags))),\
+ $(patsubst -O0,-O1,$(CFLAGS)),\
+ $(CFLAGS)) $(APPEND_LDFLAGS)
+
.PHONY: all
all: build
.PHONY: build
build:
- CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
.PHONY: install
install: all
- CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
--install-scripts=$(LIBEXEC_BIN) --force
set -e; if [ $(BINDIR) != $(LIBEXEC_BIN) -a \
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -4,6 +4,15 @@ include $(XEN_ROOT)/tools/Rules.mk
.PHONY: all
all: build
+py_cflags := $(shell $(PYTHON)-config --cflags)
+PY_CFLAGS = $(if $(strip $(py_cflags)),,\
+ $(error '$(PYTHON)-config --cflags' produced no output))\
+ $(if $(filter -D_FORTIFY_SOURCE=%,\
+ $(filter-out -D_FORTIFY_SOURCE=0,\
+ $(py_cflags))),\
+ $(patsubst -O0,-O1,$(CFLAGS)),\
+ $(CFLAGS)) $(LDFLAGS) $(APPEND_LDFLAGS)
+
.PHONY: build
build: genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \
$(XEN_ROOT)/tools/libxl/idl.py
@@ -11,11 +20,11 @@ build: genwrap.py $(XEN_ROOT)/tools/libx
$(XEN_ROOT)/tools/libxl/libxl_types.idl \
xen/lowlevel/xl/_pyxl_types.h \
xen/lowlevel/xl/_pyxl_types.c
- CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
.PHONY: install
install:
- CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
.PHONY: test
[-- Attachment #3: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-04 17:01 [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE Jan Beulich
@ 2015-02-04 23:33 ` Don Slutz
2015-02-05 10:17 ` Jan Beulich
2015-02-05 11:08 ` Ian Jackson
1 sibling, 1 reply; 24+ messages in thread
From: Don Slutz @ 2015-02-04 23:33 UTC (permalink / raw)
To: Jan Beulich, xen-devel
Cc: Ian Campbell, Wei Liu, Ian Jackson, Stefano Stabellini
On 02/04/15 12:01, Jan Beulich wrote:
> The former gets enforced by our debug builds, the latter appears to be
> not uncommon for certain distros' Python packages. Newer glibc warns on
> uses of _FORTIFY_SOURCE without optimization being enabled, which with
> -Werror causes the build to fail.
>
> Determine Python's intended flags to be passed to the C compiler via
> "python-config --cflags", and replace -O0 by -O1 when a non-zero value
> gets set for _FORTIFY_SOURCE.
>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
Well, this does not fix debug=y builds for me:
...
make -C python install
make[3]: Entering directory `/home/don/xen-master/tools/python'
CC="gcc" CFLAGS=" -O1 -fno-omit-frame-pointer -m64 -g
-fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
-Wdeclaration-after-statement -Wno-unused-but-set-variable
-Wno-unused-local-typedefs -O0 -g3 -D__XEN_TOOLS__ -MMD -MF .install.d
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
" python setup.py install \
--prefix="/usr" --root="/home/don/xen-master/dist/install" --force
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/xen
copying xen/__init__.py -> build/lib.linux-x86_64-2.7/xen
creating build/lib.linux-x86_64-2.7/xen/lowlevel
copying xen/lowlevel/__init__.py -> build/lib.linux-x86_64-2.7/xen/lowlevel
running build_ext
building 'xc' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/xen
creating build/temp.linux-x86_64-2.7/xen/lowlevel
creating build/temp.linux-x86_64-2.7/xen/lowlevel/xc
gcc -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-D_GNU_SOURCE -fPIC -fwrapv -O1 -fno-omit-frame-pointer -m64 -g
-fno-strict-aliasing -std=gnu99 -Wall -Wstrict-prototypes
-Wdeclaration-after-statement -Wno-unused-but-set-variable
-Wno-unused-local-typedefs -O0 -g3 -D__XEN_TOOLS__ -MMD -MF .install.d
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls
-fPIC -I../../tools/include -I../../tools/libxc/include
-Ixen/lowlevel/xc -I/usr/include/python2.7 -c xen/lowlevel/xc/xc.c -o
build/temp.linux-x86_64-2.7/xen/lowlevel/xc/xc.o -fno-strict-aliasing
-Werror
In file included from /usr/include/limits.h:27:0,
from
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/include/limits.h:169,
from
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/include/syslimits.h:7,
from
/usr/lib/gcc/x86_64-redhat-linux/4.7.2/include/limits.h:34,
from /usr/include/python2.7/Python.h:19,
from xen/lowlevel/xc/xc.c:7:
/usr/include/features.h:314:4: error: #warning _FORTIFY_SOURCE requires
compiling with optimization (-O) [-Werror=cpp]
cc1: all warnings being treated as errors
error: command 'gcc' failed with exit status 1
make[3]: *** [install] Error 1
make[3]: Leaving directory `/home/don/xen-master/tools/python'
make[2]: *** [subdir-install-python] Error 2
make[2]: Leaving directory `/home/don/xen-master/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory `/home/don/xen-master/tools'
make: *** [install-tools] Error 2
Using this change:
dcs-xen-54:~/xen-master>git show | cat
commit 3cda306a162e55d73c25efc14840e7afeec8d3d3
Author: Don Slutz <dslutz@verizon.com>
Date: Wed Feb 4 17:57:00 2015 -0500
tools/Rules.mk: Drop -O0 for debug=y
This is a partial revert of
commit 1166ecf781b1016eaa61f8d5ba4fb1fde9d599b6
Author: Euan Harris <euan.harris@citrix.com>
Date: Mon Dec 1 14:21:05 2014 +0000
tools/Rules.mk: Don't optimize debug builds; add macro debugging
information
Signed-off-by: Don Slutz <dslutz@verizon.com>
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 74cf37e..8bf603d 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -56,7 +56,7 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
ifeq ($(debug),y)
# Disable optimizations and enable debugging information for macros
-CFLAGS += -O0 -g3
+CFLAGS += -g3
endif
LIBXL_BLKTAP ?= $(CONFIG_BLKTAP2)
I can now build with "debug=y" on Fedora 17.
-Don Slutz
> --- a/tools/pygrub/Makefile
> +++ b/tools/pygrub/Makefile
> @@ -2,15 +2,24 @@
> XEN_ROOT = $(CURDIR)/../..
> include $(XEN_ROOT)/tools/Rules.mk
>
> +py_cflags := $(shell $(PYTHON)-config --cflags)
> +PY_CFLAGS = $(if $(strip $(py_cflags)),,\
> + $(error '$(PYTHON)-config --cflags' produced no output))\
> + $(if $(filter -D_FORTIFY_SOURCE=%,\
> + $(filter-out -D_FORTIFY_SOURCE=0,\
> + $(py_cflags))),\
> + $(patsubst -O0,-O1,$(CFLAGS)),\
> + $(CFLAGS)) $(APPEND_LDFLAGS)
> +
> .PHONY: all
> all: build
> .PHONY: build
> build:
> - CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
> + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
>
> .PHONY: install
> install: all
> - CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
> + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
> $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
> --install-scripts=$(LIBEXEC_BIN) --force
> set -e; if [ $(BINDIR) != $(LIBEXEC_BIN) -a \
> --- a/tools/python/Makefile
> +++ b/tools/python/Makefile
> @@ -4,6 +4,15 @@ include $(XEN_ROOT)/tools/Rules.mk
> .PHONY: all
> all: build
>
> +py_cflags := $(shell $(PYTHON)-config --cflags)
> +PY_CFLAGS = $(if $(strip $(py_cflags)),,\
> + $(error '$(PYTHON)-config --cflags' produced no output))\
> + $(if $(filter -D_FORTIFY_SOURCE=%,\
> + $(filter-out -D_FORTIFY_SOURCE=0,\
> + $(py_cflags))),\
> + $(patsubst -O0,-O1,$(CFLAGS)),\
> + $(CFLAGS)) $(LDFLAGS) $(APPEND_LDFLAGS)
> +
> .PHONY: build
> build: genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \
> $(XEN_ROOT)/tools/libxl/idl.py
> @@ -11,11 +20,11 @@ build: genwrap.py $(XEN_ROOT)/tools/libx
> $(XEN_ROOT)/tools/libxl/libxl_types.idl \
> xen/lowlevel/xl/_pyxl_types.h \
> xen/lowlevel/xl/_pyxl_types.c
> - CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
> + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
>
> .PHONY: install
> install:
> - CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
> + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
> $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
>
> .PHONY: test
>
>
>
>
>
> _______________________________________________
> Xen-devel mailing list
> Xen-devel@lists.xen.org
> http://lists.xen.org/xen-devel
>
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-04 23:33 ` Don Slutz
@ 2015-02-05 10:17 ` Jan Beulich
2015-02-05 14:55 ` Don Slutz
0 siblings, 1 reply; 24+ messages in thread
From: Jan Beulich @ 2015-02-05 10:17 UTC (permalink / raw)
To: Don Slutz
Cc: Ian Campbell, Ian Jackson, Wei Liu, xen-devel, Stefano Stabellini
>>> On 05.02.15 at 00:33, <dslutz@verizon.com> wrote:
> On 02/04/15 12:01, Jan Beulich wrote:
>> The former gets enforced by our debug builds, the latter appears to be
>> not uncommon for certain distros' Python packages. Newer glibc warns on
>> uses of _FORTIFY_SOURCE without optimization being enabled, which with
>> -Werror causes the build to fail.
>>
>> Determine Python's intended flags to be passed to the C compiler via
>> "python-config --cflags", and replace -O0 by -O1 when a non-zero value
>> gets set for _FORTIFY_SOURCE.
>>
>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>
> Well, this does not fix debug=y builds for me:
> [...]
> gcc -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
Where is this -Wp,-D_FORTIFY_SOURCE=2 coming from? Is
python-config producing this? The patch provided certainly doesn't
deal with that case.
> Using this change:
>
> dcs-xen-54:~/xen-master>git show | cat
> commit 3cda306a162e55d73c25efc14840e7afeec8d3d3
> Author: Don Slutz <dslutz@verizon.com>
> Date: Wed Feb 4 17:57:00 2015 -0500
>
> tools/Rules.mk: Drop -O0 for debug=y
>
> This is a partial revert of
>
> commit 1166ecf781b1016eaa61f8d5ba4fb1fde9d599b6
> Author: Euan Harris <euan.harris@citrix.com>
> Date: Mon Dec 1 14:21:05 2014 +0000
>
> tools/Rules.mk: Don't optimize debug builds; add macro debugging
> information
>
> Signed-off-by: Don Slutz <dslutz@verizon.com>
>
> diff --git a/tools/Rules.mk b/tools/Rules.mk
> index 74cf37e..8bf603d 100644
> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -56,7 +56,7 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
>
> ifeq ($(debug),y)
> # Disable optimizations and enable debugging information for macros
> -CFLAGS += -O0 -g3
> +CFLAGS += -g3
> endif
>
> LIBXL_BLKTAP ?= $(CONFIG_BLKTAP2)
>
>
> I can now build with "debug=y" on Fedora 17.
If you went through the earlier discussion, you'd have seen that
this was already rejected as a possible fix.
Jan
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-04 17:01 [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE Jan Beulich
2015-02-04 23:33 ` Don Slutz
@ 2015-02-05 11:08 ` Ian Jackson
2015-02-05 11:18 ` Jan Beulich
1 sibling, 1 reply; 24+ messages in thread
From: Ian Jackson @ 2015-02-05 11:08 UTC (permalink / raw)
To: Jan Beulich; +Cc: Ian Campbell, xen-devel, Wei Liu, Stefano Stabellini
Jan Beulich writes ("[PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE"):
> The former gets enforced by our debug builds, the latter appears to be
> not uncommon for certain distros' Python packages. Newer glibc warns on
> uses of _FORTIFY_SOURCE without optimization being enabled, which with
> -Werror causes the build to fail.
...
> --- a/tools/pygrub/Makefile
> +++ b/tools/pygrub/Makefile
> @@ -2,15 +2,24 @@
> XEN_ROOT = $(CURDIR)/../..
> include $(XEN_ROOT)/tools/Rules.mk
>
> +py_cflags := $(shell $(PYTHON)-config --cflags)
> +PY_CFLAGS = $(if $(strip $(py_cflags)),,\
> + $(error '$(PYTHON)-config --cflags' produced no output))\
> + $(if $(filter -D_FORTIFY_SOURCE=%,\
> + $(filter-out -D_FORTIFY_SOURCE=0,\
> + $(py_cflags))),\
> + $(patsubst -O0,-O1,$(CFLAGS)),\
> + $(CFLAGS)) $(APPEND_LDFLAGS)
There are lots of copies of this. And it would IMO be better to do at
least the probing in configure, resulting in something like this in
configure:
[ determine PY_XCFLAGS to be either '' or '-O0' ]
AC_SUBST(PY_XCFLAGS)
and
PY_CFLAGS=@PY_CFLAGS@
CC="$(CC)" CFLAGS="$(CFLAGS) $(PY_XCFLAGS)" $(PYTHON) setup.py build
(I assume that CFLAGS does override what comes out of setup.py.)
thanks,
Ian.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 11:08 ` Ian Jackson
@ 2015-02-05 11:18 ` Jan Beulich
2015-02-05 12:25 ` Ian Campbell
2015-02-05 15:26 ` Ian Jackson
0 siblings, 2 replies; 24+ messages in thread
From: Jan Beulich @ 2015-02-05 11:18 UTC (permalink / raw)
To: Ian Jackson
Cc: Ian Campbell, Wei Liu, Euan Harris, xen-devel, Stefano Stabellini
>>> On 05.02.15 at 12:08, <Ian.Jackson@eu.citrix.com> wrote:
> Jan Beulich writes ("[PATCH] tools: work around collision of -O0 and
> -D_FORTIFY_SOURCE"):
>> The former gets enforced by our debug builds, the latter appears to be
>> not uncommon for certain distros' Python packages. Newer glibc warns on
>> uses of _FORTIFY_SOURCE without optimization being enabled, which with
>> -Werror causes the build to fail.
> ...
>> --- a/tools/pygrub/Makefile
>> +++ b/tools/pygrub/Makefile
>> @@ -2,15 +2,24 @@
>> XEN_ROOT = $(CURDIR)/../..
>> include $(XEN_ROOT)/tools/Rules.mk
>>
>> +py_cflags := $(shell $(PYTHON)-config --cflags)
>> +PY_CFLAGS = $(if $(strip $(py_cflags)),,\
>> + $(error '$(PYTHON)-config --cflags' produced no output))\
>> + $(if $(filter -D_FORTIFY_SOURCE=%,\
>> + $(filter-out -D_FORTIFY_SOURCE=0,\
>> + $(py_cflags))),\
>> + $(patsubst -O0,-O1,$(CFLAGS)),\
>> + $(CFLAGS)) $(APPEND_LDFLAGS)
>
> There are lots of copies of this. And it would IMO be better to do at
> least the probing in configure, resulting in something like this in
> configure:
>
> [ determine PY_XCFLAGS to be either '' or '-O0' ]
> AC_SUBST(PY_XCFLAGS)
>
> and
>
> PY_CFLAGS=@PY_CFLAGS@
>
> CC="$(CC)" CFLAGS="$(CFLAGS) $(PY_XCFLAGS)" $(PYTHON) setup.py build
>
> (I assume that CFLAGS does override what comes out of setup.py.)
For one, PY_XCFLAGS='' wouldn't help, as we get -O0 from the
incoming CFLAGS. And then I'm not really intending to fiddle with
the configure scripts (albeit, having done the patch in the presented
form, I expected you to want it done that way) - this and alike is
what I specifically want to stay out of if at all possible. Since in any
event commit 1166ecf781 introduced a regression for multiple
people, perhaps if that is not supposed to be reverted Euan should
look into addressing that regression?
Jan
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 11:18 ` Jan Beulich
@ 2015-02-05 12:25 ` Ian Campbell
2015-02-05 15:26 ` Ian Jackson
1 sibling, 0 replies; 24+ messages in thread
From: Ian Campbell @ 2015-02-05 12:25 UTC (permalink / raw)
To: Jan Beulich
Cc: Euan Harris, xen-devel, Ian Jackson, Wei Liu, Stefano Stabellini
On Thu, 2015-02-05 at 11:18 +0000, Jan Beulich wrote:
> >>> On 05.02.15 at 12:08, <Ian.Jackson@eu.citrix.com> wrote:
> > Jan Beulich writes ("[PATCH] tools: work around collision of -O0 and
> > -D_FORTIFY_SOURCE"):
> >> The former gets enforced by our debug builds, the latter appears to be
> >> not uncommon for certain distros' Python packages. Newer glibc warns on
> >> uses of _FORTIFY_SOURCE without optimization being enabled, which with
> >> -Werror causes the build to fail.
> > ...
> >> --- a/tools/pygrub/Makefile
> >> +++ b/tools/pygrub/Makefile
> >> @@ -2,15 +2,24 @@
> >> XEN_ROOT = $(CURDIR)/../..
> >> include $(XEN_ROOT)/tools/Rules.mk
> >>
> >> +py_cflags := $(shell $(PYTHON)-config --cflags)
> >> +PY_CFLAGS = $(if $(strip $(py_cflags)),,\
> >> + $(error '$(PYTHON)-config --cflags' produced no output))\
> >> + $(if $(filter -D_FORTIFY_SOURCE=%,\
> >> + $(filter-out -D_FORTIFY_SOURCE=0,\
> >> + $(py_cflags))),\
> >> + $(patsubst -O0,-O1,$(CFLAGS)),\
> >> + $(CFLAGS)) $(APPEND_LDFLAGS)
> >
> > There are lots of copies of this. And it would IMO be better to do at
> > least the probing in configure, resulting in something like this in
> > configure:
> >
> > [ determine PY_XCFLAGS to be either '' or '-O0' ]
> > AC_SUBST(PY_XCFLAGS)
> >
> > and
> >
> > PY_CFLAGS=@PY_CFLAGS@
> >
> > CC="$(CC)" CFLAGS="$(CFLAGS) $(PY_XCFLAGS)" $(PYTHON) setup.py build
> >
> > (I assume that CFLAGS does override what comes out of setup.py.)
>
> For one, PY_XCFLAGS='' wouldn't help, as we get -O0 from the
> incoming CFLAGS. And then I'm not really intending to fiddle with
> the configure scripts (albeit, having done the patch in the presented
> form, I expected you to want it done that way) - this and alike is
> what I specifically want to stay out of if at all possible. Since in any
> event commit 1166ecf781 introduced a regression for multiple
> people, perhaps if that is not supposed to be reverted Euan should
> look into addressing that regression?
Euan -- do you think you might be able to whip up an autoconf-ification
along the lines of what is described above?
Ian.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 10:17 ` Jan Beulich
@ 2015-02-05 14:55 ` Don Slutz
0 siblings, 0 replies; 24+ messages in thread
From: Don Slutz @ 2015-02-05 14:55 UTC (permalink / raw)
To: Jan Beulich, Don Slutz
Cc: Ian Campbell, Ian Jackson, Wei Liu, xen-devel, Stefano Stabellini
On 02/05/15 05:17, Jan Beulich wrote:
>>>> On 05.02.15 at 00:33, <dslutz@verizon.com> wrote:
>> On 02/04/15 12:01, Jan Beulich wrote:
>>> The former gets enforced by our debug builds, the latter appears to be
>>> not uncommon for certain distros' Python packages. Newer glibc warns on
>>> uses of _FORTIFY_SOURCE without optimization being enabled, which with
>>> -Werror causes the build to fail.
>>>
>>> Determine Python's intended flags to be passed to the C compiler via
>>> "python-config --cflags", and replace -O0 by -O1 when a non-zero value
>>> gets set for _FORTIFY_SOURCE.
>>>
>>> Signed-off-by: Jan Beulich <jbeulich@suse.com>
>>
>> Well, this does not fix debug=y builds for me:
>> [...]
>> gcc -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
>
> Where is this -Wp,-D_FORTIFY_SOURCE=2 coming from? Is
> python-config producing this? The patch provided certainly doesn't
> deal with that case.
Here is what I get for python-config:
dcs-xen-54:~/xen-master>python-config --cflags
-I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing
-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic
-D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv
>
>> Using this change:
>>
>> dcs-xen-54:~/xen-master>git show | cat
>> commit 3cda306a162e55d73c25efc14840e7afeec8d3d3
>> Author: Don Slutz <dslutz@verizon.com>
>> Date: Wed Feb 4 17:57:00 2015 -0500
>>
>> tools/Rules.mk: Drop -O0 for debug=y
>>
>> This is a partial revert of
>>
>> commit 1166ecf781b1016eaa61f8d5ba4fb1fde9d599b6
>> Author: Euan Harris <euan.harris@citrix.com>
>> Date: Mon Dec 1 14:21:05 2014 +0000
>>
>> tools/Rules.mk: Don't optimize debug builds; add macro debugging
>> information
>>
>> Signed-off-by: Don Slutz <dslutz@verizon.com>
>>
>> diff --git a/tools/Rules.mk b/tools/Rules.mk
>> index 74cf37e..8bf603d 100644
>> --- a/tools/Rules.mk
>> +++ b/tools/Rules.mk
>> @@ -56,7 +56,7 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
>>
>> ifeq ($(debug),y)
>> # Disable optimizations and enable debugging information for macros
>> -CFLAGS += -O0 -g3
>> +CFLAGS += -g3
>> endif
>>
>> LIBXL_BLKTAP ?= $(CONFIG_BLKTAP2)
>>
>>
>> I can now build with "debug=y" on Fedora 17.
>
> If you went through the earlier discussion, you'd have seen that
> this was already rejected as a possible fix.
Sorry I did not see this.
-Don Slutz
>
> Jan
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 11:18 ` Jan Beulich
2015-02-05 12:25 ` Ian Campbell
@ 2015-02-05 15:26 ` Ian Jackson
2015-02-05 15:46 ` Jan Beulich
2015-02-05 15:47 ` Euan Harris
1 sibling, 2 replies; 24+ messages in thread
From: Ian Jackson @ 2015-02-05 15:26 UTC (permalink / raw)
To: Jan Beulich
Cc: Ian Campbell, Wei Liu, Euan Harris, xen-devel, Stefano Stabellini
Jan Beulich writes ("Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE"):
> For one, PY_XCFLAGS='' wouldn't help, as we get -O0 from the
> incoming CFLAGS.
Sorry, I meant PY_XCFLAGS='' or -O1 (as appropriate).
> And then I'm not really intending to fiddle with
> the configure scripts (albeit, having done the patch in the presented
> form, I expected you to want it done that way) - this and alike is
> what I specifically want to stay out of if at all possible. Since in any
> event commit 1166ecf781 introduced a regression for multiple
> people, perhaps if that is not supposed to be reverted Euan should
> look into addressing that regression?
Since I'm being difficult, how about if I prepare patch to configure.
Would you be able to test it ?
None of my machines have the broken python setup.
Ian.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 15:26 ` Ian Jackson
@ 2015-02-05 15:46 ` Jan Beulich
2015-02-05 15:47 ` Euan Harris
1 sibling, 0 replies; 24+ messages in thread
From: Jan Beulich @ 2015-02-05 15:46 UTC (permalink / raw)
To: Ian Jackson
Cc: IanCampbell, Wei Liu, Euan Harris, xen-devel, Stefano Stabellini
>>> On 05.02.15 at 16:26, <Ian.Jackson@eu.citrix.com> wrote:
> Jan Beulich writes ("Re: [PATCH] tools: work around collision of -O0 and
>> And then I'm not really intending to fiddle with
>> the configure scripts (albeit, having done the patch in the presented
>> form, I expected you to want it done that way) - this and alike is
>> what I specifically want to stay out of if at all possible. Since in any
>> event commit 1166ecf781 introduced a regression for multiple
>> people, perhaps if that is not supposed to be reverted Euan should
>> look into addressing that regression?
>
> Since I'm being difficult, how about if I prepare patch to configure.
> Would you be able to test it ?
Sure. Thanks!
Jan
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 15:26 ` Ian Jackson
2015-02-05 15:46 ` Jan Beulich
@ 2015-02-05 15:47 ` Euan Harris
2015-02-05 16:36 ` Ian Jackson
1 sibling, 1 reply; 24+ messages in thread
From: Euan Harris @ 2015-02-05 15:47 UTC (permalink / raw)
To: Ian Jackson
Cc: Ian Campbell, xen-devel, Wei Liu, Jan Beulich, Stefano Stabellini
On Thu, Feb 05, 2015 at 03:26:00PM +0000, Ian Jackson wrote:
> Jan Beulich writes ("Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE"):
> > For one, PY_XCFLAGS='' wouldn't help, as we get -O0 from the
> > incoming CFLAGS.
>
> Sorry, I meant PY_XCFLAGS='' or -O1 (as appropriate).
>
> > And then I'm not really intending to fiddle with
> > the configure scripts (albeit, having done the patch in the presented
> > form, I expected you to want it done that way) - this and alike is
> > what I specifically want to stay out of if at all possible. Since in any
> > event commit 1166ecf781 introduced a regression for multiple
> > people, perhaps if that is not supposed to be reverted Euan should
> > look into addressing that regression?
>
> Since I'm being difficult, how about if I prepare patch to configure.
> Would you be able to test it ?
If it's not too much trouble, I'd be very grateful if you could do this.
My autotools knowledge is rusty, and I don't know when I'll have the
opportunity to set up a machine which reproduces the problem (clearly
mine doesn't, otherwise I would have run into this problem before!)
Thanks,
Euan
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 15:47 ` Euan Harris
@ 2015-02-05 16:36 ` Ian Jackson
2015-02-05 16:52 ` Jan Beulich
0 siblings, 1 reply; 24+ messages in thread
From: Ian Jackson @ 2015-02-05 16:36 UTC (permalink / raw)
To: xen-devel
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Ian Jackson, Don Slutz,
Euan Harris, Jan Beulich
Some systems have python-config include -D_FORTIFY_SOURCE in the
CFLAGS. But -D_FORTIFY_SOURCE does not (currently) work with -O0, and
-O0 is enabled in debug builds (since 1166ecf781). As a result, on
those systems, debug builds fail.
Work around this problem as follows:
* In configure, detect -D_FORTIFY_SOURCE in $(python-config --cflags)
* If detected, set the new autoconf substitution and make variable
PY_NOOPT_CFLAGS to -O1.
* In tools/Rules.mk, where we add -O0, also add PY_NOOPT_CFLAGS
(which will override the -O0 with -O1 if required).
Overriding the -O0 is better than disabling Fortify because the
latter might have an adverse security impact. A user who wants to
disable optimisation completely even for Python and also disable
Fortify can set the environment variable
EXTRA_CFLAGS_XEN_TOOLS='-U_FORTIFY_SOURCE -O0'
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Reported-by: Jan Beulich <JBeulich@suse.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Euan Harris <euan.harris@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Don Slutz <dslutz@verizon.com>
---
config/Tools.mk.in | 1 +
m4/python_fortify_noopt.m4 | 29 +++++++++++++++++++++++++++++
tools/Rules.mk | 2 +-
tools/configure | 37 +++++++++++++++++++++++++++++++++++++
tools/configure.ac | 2 ++
5 files changed, 70 insertions(+), 1 deletion(-)
create mode 100644 m4/python_fortify_noopt.m4
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 30267fa..e7da99d 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -13,6 +13,7 @@ BISON := @BISON@
FLEX := @FLEX@
PYTHON := @PYTHON@
PYTHON_PATH := @PYTHONPATH@
+PY_NOOPT_CFLAGS := @PY_NOOPT_CFLAGS@
PERL := @PERL@
CURL_CONFIG := @CURL@
XML2_CONFIG := @XML@
diff --git a/m4/python_fortify_noopt.m4 b/m4/python_fortify_noopt.m4
new file mode 100644
index 0000000..c399fa8
--- /dev/null
+++ b/m4/python_fortify_noopt.m4
@@ -0,0 +1,29 @@
+dnl Defines PY_NOOPT_CFLAGS to either '' or -O1
+dnl
+
+dnl This is necessary because on some systems setup.py includes
+dnl -D_FORTIFY_SOURCE but have a -D_FORTIFY_SOURCE which breaks
+dnl with -O0. On those systems we arrange to use -O1 for debug
+dnl builds instead.
+
+AC_DEFUN([AX_CHECK_PYTHON_FORTIFY_NOOPT], [
+ AC_CACHE_CHECK([whether Python setup.py brokenly enables -D_FORTIFY_SOURCE],
+ [ax_cv_python_fortify],[
+ ax_cv_python_fortify=no
+ for arg in $($PYTHON-config --cflags); do
+ case "$arg" in
+ -D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
+ -D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
+ *) ;;
+ esac
+ done
+ ])
+
+ AS_IF([test x$ax_cv_python_fortify = xyes],[
+ PY_NOOPT_CFLAGS=-O1
+ ], [
+ PY_NOOPT_CFLAGS=''
+ ])
+
+ AC_SUBST(PY_NOOPT_CFLAGS)
+])
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 74cf37e..c96efa2 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -56,7 +56,7 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
ifeq ($(debug),y)
# Disable optimizations and enable debugging information for macros
-CFLAGS += -O0 -g3
+CFLAGS += -O0 -g3 $(PY_NOOPT_CFLAGS)
endif
LIBXL_BLKTAP ?= $(CONFIG_BLKTAP2)
diff --git a/tools/configure b/tools/configure
index ab04e8c..5fbe736 100755
--- a/tools/configure
+++ b/tools/configure
@@ -652,6 +652,7 @@ PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
CURSES_LIBS
+PY_NOOPT_CFLAGS
EGREP
GREP
CPP
@@ -3453,6 +3454,10 @@ esac
+
+
+
+
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 1 (pkg-config-0.24)
#
@@ -7043,6 +7048,38 @@ CPPFLAGS=$ac_previous_cppflags
LDLFAGS=$ac_previous_ldflags
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE" >&5
+$as_echo_n "checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE... " >&6; }
+if ${ax_cv_python_fortify+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ax_cv_python_fortify=no
+ for arg in $($PYTHON-config --cflags); do
+ case "$arg" in
+ -D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
+ -D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
+ *) ;;
+ esac
+ done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_python_fortify" >&5
+$as_echo "$ax_cv_python_fortify" >&6; }
+
+ if test x$ax_cv_python_fortify = xyes; then :
+
+ PY_NOOPT_CFLAGS=-O1
+
+else
+
+ PY_NOOPT_CFLAGS=''
+
+fi
+
+
+
+
fi
if ! $rump; then
diff --git a/tools/configure.ac b/tools/configure.ac
index d9cbf1f..03dadd7 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -58,6 +58,7 @@ m4_include([../m4/checkpolicy.m4])
m4_include([../m4/set_cflags_ldflags.m4])
m4_include([../m4/python_version.m4])
m4_include([../m4/python_devel.m4])
+m4_include([../m4/python_fortify_noopt.m4])
m4_include([../m4/ocaml.m4])
m4_include([../m4/uuid.m4])
m4_include([../m4/pkg.m4])
@@ -295,6 +296,7 @@ AX_CHECK_PYTHON_VERSION([2], [3])
AS_IF([test "$cross_compiling" != yes], [
AX_CHECK_PYTHON_DEVEL()
+ AX_CHECK_PYTHON_FORTIFY_NOOPT()
])
if ! $rump; then
--
1.7.10.4
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 16:36 ` Ian Jackson
@ 2015-02-05 16:52 ` Jan Beulich
2015-02-05 16:56 ` Ian Jackson
2015-09-01 14:54 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE George Dunlap
0 siblings, 2 replies; 24+ messages in thread
From: Jan Beulich @ 2015-02-05 16:52 UTC (permalink / raw)
To: Ian Jackson
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Don Slutz, Euan Harris,
xen-devel
>>> On 05.02.15 at 17:36, <ian.jackson@eu.citrix.com> wrote:
> Some systems have python-config include -D_FORTIFY_SOURCE in the
> CFLAGS. But -D_FORTIFY_SOURCE does not (currently) work with -O0, and
> -O0 is enabled in debug builds (since 1166ecf781). As a result, on
> those systems, debug builds fail.
>
> Work around this problem as follows:
> * In configure, detect -D_FORTIFY_SOURCE in $(python-config --cflags)
> * If detected, set the new autoconf substitution and make variable
> PY_NOOPT_CFLAGS to -O1.
> * In tools/Rules.mk, where we add -O0, also add PY_NOOPT_CFLAGS
> (which will override the -O0 with -O1 if required).
Not having tried it out yet (hopefully some time tomorrow), two
a remark and a question:
> --- /dev/null
> +++ b/m4/python_fortify_noopt.m4
> @@ -0,0 +1,29 @@
> +dnl Defines PY_NOOPT_CFLAGS to either '' or -O1
> +dnl
> +
> +dnl This is necessary because on some systems setup.py includes
> +dnl -D_FORTIFY_SOURCE but have a -D_FORTIFY_SOURCE which breaks
> +dnl with -O0. On those systems we arrange to use -O1 for debug
> +dnl builds instead.
> +
> +AC_DEFUN([AX_CHECK_PYTHON_FORTIFY_NOOPT], [
> + AC_CACHE_CHECK([whether Python setup.py brokenly enables -D_FORTIFY_SOURCE],
I guess the people having added that would not like to see this
called "brokenly".
> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -56,7 +56,7 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
>
> ifeq ($(debug),y)
> # Disable optimizations and enable debugging information for macros
> -CFLAGS += -O0 -g3
> +CFLAGS += -O0 -g3 $(PY_NOOPT_CFLAGS)
Why would you do this for all of the tools build rather than just the
python components?
Jan
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 16:52 ` Jan Beulich
@ 2015-02-05 16:56 ` Ian Jackson
2015-02-05 17:01 ` Jan Beulich
2015-02-06 8:19 ` Jan Beulich
2015-09-01 14:54 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE George Dunlap
1 sibling, 2 replies; 24+ messages in thread
From: Ian Jackson @ 2015-02-05 16:56 UTC (permalink / raw)
To: Jan Beulich
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Don Slutz, Euan Harris,
xen-devel
Jan Beulich writes ("Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE"):
> On 05.02.15 at 17:36, <ian.jackson@eu.citrix.com> wrote:
> > +AC_DEFUN([AX_CHECK_PYTHON_FORTIFY_NOOPT], [
> > + AC_CACHE_CHECK([whether Python setup.py brokenly enables -D_FORTIFY_SOURCE],
>
> I guess the people having added that would not like to see this
> called "brokenly".
I think it is correct, and that it is fair to make such a criticism in
a configure script. If this is too rude I guess we could say
`unfortunately'.
> > --- a/tools/Rules.mk
> > +++ b/tools/Rules.mk
> > @@ -56,7 +56,7 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
> >
> > ifeq ($(debug),y)
> > # Disable optimizations and enable debugging information for macros
> > -CFLAGS += -O0 -g3
> > +CFLAGS += -O0 -g3 $(PY_NOOPT_CFLAGS)
>
> Why would you do this for all of the tools build rather than just the
> python components?
You're right. This should be something like:
CFLAGS += -O0 -g3
+PY_CFLAGS += $(PY_NOOPT_CFLAGS)
and including PY_CFLAGS in tools/python/Makefile etc.
Ian.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 16:56 ` Ian Jackson
@ 2015-02-05 17:01 ` Jan Beulich
2015-02-06 8:19 ` Jan Beulich
1 sibling, 0 replies; 24+ messages in thread
From: Jan Beulich @ 2015-02-05 17:01 UTC (permalink / raw)
To: Ian Jackson
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Don Slutz, Euan Harris,
xen-devel
>>> On 05.02.15 at 17:56, <Ian.Jackson@eu.citrix.com> wrote:
>> > --- a/tools/Rules.mk
>> > +++ b/tools/Rules.mk
>> > @@ -56,7 +56,7 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
>> >
>> > ifeq ($(debug),y)
>> > # Disable optimizations and enable debugging information for macros
>> > -CFLAGS += -O0 -g3
>> > +CFLAGS += -O0 -g3 $(PY_NOOPT_CFLAGS)
>>
>> Why would you do this for all of the tools build rather than just the
>> python components?
>
> You're right. This should be something like:
>
> CFLAGS += -O0 -g3
> +PY_CFLAGS += $(PY_NOOPT_CFLAGS)
I'll adjust this before testing. Thanks for the quick turnaround, btw!
Jan
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 16:56 ` Ian Jackson
2015-02-05 17:01 ` Jan Beulich
@ 2015-02-06 8:19 ` Jan Beulich
2015-02-06 8:22 ` Jan Beulich
1 sibling, 1 reply; 24+ messages in thread
From: Jan Beulich @ 2015-02-06 8:19 UTC (permalink / raw)
To: Ian Jackson
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Don Slutz, Euan Harris,
xen-devel
>>> On 05.02.15 at 17:56, <Ian.Jackson@eu.citrix.com> wrote:
> Jan Beulich writes ("Re: [PATCH] tools: work around collision of -O0 and
>> > --- a/tools/Rules.mk
>> > +++ b/tools/Rules.mk
>> > @@ -56,7 +56,7 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
>> >
>> > ifeq ($(debug),y)
>> > # Disable optimizations and enable debugging information for macros
>> > -CFLAGS += -O0 -g3
>> > +CFLAGS += -O0 -g3 $(PY_NOOPT_CFLAGS)
>>
>> Why would you do this for all of the tools build rather than just the
>> python components?
>
> You're right. This should be something like:
>
> CFLAGS += -O0 -g3
> +PY_CFLAGS += $(PY_NOOPT_CFLAGS)
>
> and including PY_CFLAGS in tools/python/Makefile etc.
Attached the patch I used for testing. While it works okay for me,
I guess the configure part will need further taking care of the
-Wp,-D... variant Don is seeing.
Jan
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-06 8:19 ` Jan Beulich
@ 2015-02-06 8:22 ` Jan Beulich
2015-02-06 11:04 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE [and 1 more messages] Ian Jackson
0 siblings, 1 reply; 24+ messages in thread
From: Jan Beulich @ 2015-02-06 8:22 UTC (permalink / raw)
To: Ian Jackson
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Don Slutz, Euan Harris,
xen-devel
[-- Attachment #1: Type: text/plain, Size: 128 bytes --]
>>> On 06.02.15 at 09:19, <JBeulich@suse.com> wrote:
> Attached the patch I used for testing.
This time for real.
Jan
[-- Attachment #2: tools-Python-fortify.patch --]
[-- Type: text/plain, Size: 6219 bytes --]
tools: work around collision of -O0 and -D_FORTIFY_SOURCE
Some systems have python-config include -D_FORTIFY_SOURCE in the
CFLAGS. But -D_FORTIFY_SOURCE does not (currently) work with -O0, and
-O0 is enabled in debug builds (since 1166ecf781). As a result, on
those systems, debug builds fail.
Work around this problem as follows:
* In configure, detect -D_FORTIFY_SOURCE in $(python-config --cflags)
* If detected, set the new autoconf substitution and make variable
PY_NOOPT_CFLAGS to -O1.
* In tools/Rules.mk, where we add -O0, also add PY_NOOPT_CFLAGS
(which will override the -O0 with -O1 if required).
Overriding the -O0 is better than disabling Fortify because the
latter might have an adverse security impact. A user who wants to
disable optimisation completely even for Python and also disable
Fortify can set the environment variable
EXTRA_CFLAGS_XEN_TOOLS='-U_FORTIFY_SOURCE -O0'
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Reported-by: Jan Beulich <jbeulich@suse.com>
Limit no-optimization override to Python interface code.
Signed-off-by: Jan Beulich <jbeulich@suse.com>
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -13,6 +13,7 @@ BISON := @BISON@
FLEX := @FLEX@
PYTHON := @PYTHON@
PYTHON_PATH := @PYTHONPATH@
+PY_NOOPT_CFLAGS := @PY_NOOPT_CFLAGS@
PERL := @PERL@
CURL_CONFIG := @CURL@
XML2_CONFIG := @XML@
--- /dev/null
+++ b/m4/python_fortify_noopt.m4
@@ -0,0 +1,29 @@
+dnl Defines PY_NOOPT_CFLAGS to either '' or -O1
+dnl
+
+dnl This is necessary because on some systems setup.py includes
+dnl -D_FORTIFY_SOURCE but have a -D_FORTIFY_SOURCE which breaks
+dnl with -O0. On those systems we arrange to use -O1 for debug
+dnl builds instead.
+
+AC_DEFUN([AX_CHECK_PYTHON_FORTIFY_NOOPT], [
+ AC_CACHE_CHECK([whether Python setup.py brokenly enables -D_FORTIFY_SOURCE],
+ [ax_cv_python_fortify],[
+ ax_cv_python_fortify=no
+ for arg in $($PYTHON-config --cflags); do
+ case "$arg" in
+ -D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
+ -D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
+ *) ;;
+ esac
+ done
+ ])
+
+ AS_IF([test x$ax_cv_python_fortify = xyes],[
+ PY_NOOPT_CFLAGS=-O1
+ ], [
+ PY_NOOPT_CFLAGS=''
+ ])
+
+ AC_SUBST(PY_NOOPT_CFLAGS)
+])
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -57,6 +57,8 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(X
ifeq ($(debug),y)
# Disable optimizations and enable debugging information for macros
CFLAGS += -O0 -g3
+# But allow an override to -O0 in case Python enforces -D_FORTIFY_SOURCE=<n>.
+PY_CFLAGS += $(PY_NOOPT_CFLAGS)
endif
LIBXL_BLKTAP ?= $(CONFIG_BLKTAP2)
--- a/tools/configure
+++ b/tools/configure
@@ -652,6 +652,7 @@ PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
CURSES_LIBS
+PY_NOOPT_CFLAGS
EGREP
GREP
CPP
@@ -7043,6 +7044,38 @@ CPPFLAGS=$ac_previous_cppflags
LDLFAGS=$ac_previous_ldflags
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE" >&5
+$as_echo_n "checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE... " >&6; }
+if ${ax_cv_python_fortify+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ax_cv_python_fortify=no
+ for arg in $($PYTHON-config --cflags); do
+ case "$arg" in
+ -D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
+ -D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
+ *) ;;
+ esac
+ done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_python_fortify" >&5
+$as_echo "$ax_cv_python_fortify" >&6; }
+
+ if test x$ax_cv_python_fortify = xyes; then :
+
+ PY_NOOPT_CFLAGS=-O1
+
+else
+
+ PY_NOOPT_CFLAGS=''
+
+fi
+
+
+
+
fi
if ! $rump; then
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -58,6 +58,7 @@ m4_include([../m4/checkpolicy.m4])
m4_include([../m4/set_cflags_ldflags.m4])
m4_include([../m4/python_version.m4])
m4_include([../m4/python_devel.m4])
+m4_include([../m4/python_fortify_noopt.m4])
m4_include([../m4/ocaml.m4])
m4_include([../m4/uuid.m4])
m4_include([../m4/pkg.m4])
@@ -295,6 +296,7 @@ AX_CHECK_PYTHON_VERSION([2], [3])
AS_IF([test "$cross_compiling" != yes], [
AX_CHECK_PYTHON_DEVEL()
+ AX_CHECK_PYTHON_FORTIFY_NOOPT()
])
if ! $rump; then
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -2,15 +2,17 @@
XEN_ROOT = $(CURDIR)/../..
include $(XEN_ROOT)/tools/Rules.mk
+PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS) $(APPEND_LDFLAGS)
+
.PHONY: all
all: build
.PHONY: build
build:
- CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
.PHONY: install
install: all
- CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
--install-scripts=$(LIBEXEC_BIN) --force
set -e; if [ $(BINDIR) != $(LIBEXEC_BIN) -a \
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -4,6 +4,8 @@ include $(XEN_ROOT)/tools/Rules.mk
.PHONY: all
all: build
+PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)
+
.PHONY: build
build: genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \
$(XEN_ROOT)/tools/libxl/idl.py
@@ -11,11 +13,11 @@ build: genwrap.py $(XEN_ROOT)/tools/libx
$(XEN_ROOT)/tools/libxl/libxl_types.idl \
xen/lowlevel/xl/_pyxl_types.h \
xen/lowlevel/xl/_pyxl_types.c
- CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
.PHONY: install
install:
- CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
.PHONY: test
[-- Attachment #3: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE [and 1 more messages]
2015-02-06 8:22 ` Jan Beulich
@ 2015-02-06 11:04 ` Ian Jackson
2015-02-06 11:04 ` [PATCH v4] tools: work around collision of -O0 and -D_FORTIFY_SOURCE Ian Jackson
2015-02-06 15:24 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE [and 1 more messages] Don Slutz
0 siblings, 2 replies; 24+ messages in thread
From: Ian Jackson @ 2015-02-06 11:04 UTC (permalink / raw)
To: Jan Beulich
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Ian Jackson, Don Slutz,
Euan Harris, xen-devel
Jan Beulich writes ("Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE"):
> Attached the patch I used for testing. While it works okay for me,
> I guess the configure part will need further taking care of the
> -Wp,-D... variant Don is seeing.
Thanks. I'm going to pretend my first one was v2, you called your
version v3 and will send out a v4 in just a moment.
Don, can you please test it ?
Thanks,
Ian.
^ permalink raw reply [flat|nested] 24+ messages in thread
* [PATCH v4] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-06 11:04 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE [and 1 more messages] Ian Jackson
@ 2015-02-06 11:04 ` Ian Jackson
2015-02-06 16:13 ` Don Slutz
2015-02-06 15:24 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE [and 1 more messages] Don Slutz
1 sibling, 1 reply; 24+ messages in thread
From: Ian Jackson @ 2015-02-06 11:04 UTC (permalink / raw)
To: xen-devel
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Ian Jackson, Don Slutz,
Euan Harris, Jan Beulich
Some systems have python-config include -D_FORTIFY_SOURCE in the
CFLAGS. But -D_FORTIFY_SOURCE does not (currently) work with -O0, and
-O0 is enabled in debug builds (since 1166ecf781). As a result, on
those systems, debug builds fail.
Work around this problem as follows:
* In configure, detect -D_FORTIFY_SOURCE in $(python-config --cflags)
* If detected, set the new autoconf substitution and make variable
PY_NOOPT_CFLAGS to -O1.
* In tools/Rules.mk, where we add -O0, also add PY_NOOPT_CFLAGS
(which will override the -O0 with -O1 if required).
Overriding the -O0 is better than disabling Fortify because the
latter might have an adverse security impact. A user who wants to
disable optimisation completely even for Python and also disable
Fortify can set the environment variable
EXTRA_CFLAGS_XEN_TOOLS='-U_FORTIFY_SOURCE -O0'
Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
Reported-by: Jan Beulich <JBeulich@suse.com>
Signed-off-by: Jan Beulich <jbeulich@suse.com>
CC: Jan Beulich <JBeulich@suse.com>
CC: Ian Campbell <Ian.Campbell@citrix.com>
CC: Euan Harris <euan.harris@citrix.com>
CC: Wei Liu <wei.liu2@citrix.com>
CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
CC: Don Slutz <dslutz@verizon.com>
---
v4: [Ian Jackson] Spot -Wp,-D_FORTIFY_SOURCE= too
v3: [Jan Beulich] Limit no-optimization override to Python interface code.
v2: [Ian Jackson] Use autoconf
v1: [Jan Beulich] Initial proposal
---
config/Tools.mk.in | 1 +
m4/python_fortify_noopt.m4 | 31 +++++++++++++++++++++++++++++++
tools/Rules.mk | 2 ++
tools/configure | 39 +++++++++++++++++++++++++++++++++++++++
tools/configure.ac | 2 ++
tools/pygrub/Makefile | 6 ++++--
tools/python/Makefile | 6 ++++--
7 files changed, 83 insertions(+), 4 deletions(-)
create mode 100644 m4/python_fortify_noopt.m4
diff --git a/config/Tools.mk.in b/config/Tools.mk.in
index 30267fa..e7da99d 100644
--- a/config/Tools.mk.in
+++ b/config/Tools.mk.in
@@ -13,6 +13,7 @@ BISON := @BISON@
FLEX := @FLEX@
PYTHON := @PYTHON@
PYTHON_PATH := @PYTHONPATH@
+PY_NOOPT_CFLAGS := @PY_NOOPT_CFLAGS@
PERL := @PERL@
CURL_CONFIG := @CURL@
XML2_CONFIG := @XML@
diff --git a/m4/python_fortify_noopt.m4 b/m4/python_fortify_noopt.m4
new file mode 100644
index 0000000..f9cb52b
--- /dev/null
+++ b/m4/python_fortify_noopt.m4
@@ -0,0 +1,31 @@
+dnl Defines PY_NOOPT_CFLAGS to either '' or -O1
+dnl
+
+dnl This is necessary because on some systems setup.py includes
+dnl -D_FORTIFY_SOURCE but have a -D_FORTIFY_SOURCE which breaks
+dnl with -O0. On those systems we arrange to use -O1 for debug
+dnl builds instead.
+
+AC_DEFUN([AX_CHECK_PYTHON_FORTIFY_NOOPT], [
+ AC_CACHE_CHECK([whether Python setup.py brokenly enables -D_FORTIFY_SOURCE],
+ [ax_cv_python_fortify],[
+ ax_cv_python_fortify=no
+ for arg in $($PYTHON-config --cflags); do
+ case "$arg" in
+ -D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
+ -D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
+ -Wp,-D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
+ -Wp,-D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
+ *) ;;
+ esac
+ done
+ ])
+
+ AS_IF([test x$ax_cv_python_fortify = xyes],[
+ PY_NOOPT_CFLAGS=-O1
+ ], [
+ PY_NOOPT_CFLAGS=''
+ ])
+
+ AC_SUBST(PY_NOOPT_CFLAGS)
+])
diff --git a/tools/Rules.mk b/tools/Rules.mk
index 74cf37e..3c29d07 100644
--- a/tools/Rules.mk
+++ b/tools/Rules.mk
@@ -57,6 +57,8 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
ifeq ($(debug),y)
# Disable optimizations and enable debugging information for macros
CFLAGS += -O0 -g3
+# But allow an override to -O0 in case Python enforces -D_FORTIFY_SOURCE=<n>.
+PY_CFLAGS += $(PY_NOOPT_CFLAGS)
endif
LIBXL_BLKTAP ?= $(CONFIG_BLKTAP2)
diff --git a/tools/configure b/tools/configure
index ab04e8c..e7dac75 100755
--- a/tools/configure
+++ b/tools/configure
@@ -652,6 +652,7 @@ PKG_CONFIG_LIBDIR
PKG_CONFIG_PATH
PKG_CONFIG
CURSES_LIBS
+PY_NOOPT_CFLAGS
EGREP
GREP
CPP
@@ -3453,6 +3454,10 @@ esac
+
+
+
+
# pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
# serial 1 (pkg-config-0.24)
#
@@ -7043,6 +7048,40 @@ CPPFLAGS=$ac_previous_cppflags
LDLFAGS=$ac_previous_ldflags
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE" >&5
+$as_echo_n "checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE... " >&6; }
+if ${ax_cv_python_fortify+:} false; then :
+ $as_echo_n "(cached) " >&6
+else
+
+ ax_cv_python_fortify=no
+ for arg in $($PYTHON-config --cflags); do
+ case "$arg" in
+ -D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
+ -D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
+ -Wp,-D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
+ -Wp,-D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
+ *) ;;
+ esac
+ done
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_python_fortify" >&5
+$as_echo "$ax_cv_python_fortify" >&6; }
+
+ if test x$ax_cv_python_fortify = xyes; then :
+
+ PY_NOOPT_CFLAGS=-O1
+
+else
+
+ PY_NOOPT_CFLAGS=''
+
+fi
+
+
+
+
fi
if ! $rump; then
diff --git a/tools/configure.ac b/tools/configure.ac
index d9cbf1f..03dadd7 100644
--- a/tools/configure.ac
+++ b/tools/configure.ac
@@ -58,6 +58,7 @@ m4_include([../m4/checkpolicy.m4])
m4_include([../m4/set_cflags_ldflags.m4])
m4_include([../m4/python_version.m4])
m4_include([../m4/python_devel.m4])
+m4_include([../m4/python_fortify_noopt.m4])
m4_include([../m4/ocaml.m4])
m4_include([../m4/uuid.m4])
m4_include([../m4/pkg.m4])
@@ -295,6 +296,7 @@ AX_CHECK_PYTHON_VERSION([2], [3])
AS_IF([test "$cross_compiling" != yes], [
AX_CHECK_PYTHON_DEVEL()
+ AX_CHECK_PYTHON_FORTIFY_NOOPT()
])
if ! $rump; then
diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
index 6fd194c..00e654a 100644
--- a/tools/pygrub/Makefile
+++ b/tools/pygrub/Makefile
@@ -2,15 +2,17 @@
XEN_ROOT = $(CURDIR)/../..
include $(XEN_ROOT)/tools/Rules.mk
+PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS) $(APPEND_LDFLAGS)
+
.PHONY: all
all: build
.PHONY: build
build:
- CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
.PHONY: install
install: all
- CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
--install-scripts=$(LIBEXEC_BIN) --force
set -e; if [ $(BINDIR) != $(LIBEXEC_BIN) -a \
diff --git a/tools/python/Makefile b/tools/python/Makefile
index af95119..e933be8 100644
--- a/tools/python/Makefile
+++ b/tools/python/Makefile
@@ -4,6 +4,8 @@ include $(XEN_ROOT)/tools/Rules.mk
.PHONY: all
all: build
+PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)
+
.PHONY: build
build: genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \
$(XEN_ROOT)/tools/libxl/idl.py
@@ -11,11 +13,11 @@ build: genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \
$(XEN_ROOT)/tools/libxl/libxl_types.idl \
xen/lowlevel/xl/_pyxl_types.h \
xen/lowlevel/xl/_pyxl_types.c
- CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
.PHONY: install
install:
- CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
+ CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
$(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
.PHONY: test
--
1.7.10.4
^ permalink raw reply related [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE [and 1 more messages]
2015-02-06 11:04 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE [and 1 more messages] Ian Jackson
2015-02-06 11:04 ` [PATCH v4] tools: work around collision of -O0 and -D_FORTIFY_SOURCE Ian Jackson
@ 2015-02-06 15:24 ` Don Slutz
1 sibling, 0 replies; 24+ messages in thread
From: Don Slutz @ 2015-02-06 15:24 UTC (permalink / raw)
To: Ian Jackson, Jan Beulich
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Don Slutz, Euan Harris,
xen-devel
On 02/06/15 06:04, Ian Jackson wrote:
> Jan Beulich writes ("Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE"):
>> Attached the patch I used for testing. While it works okay for me,
>> I guess the configure part will need further taking care of the
>> -Wp,-D... variant Don is seeing.
>
> Thanks. I'm going to pretend my first one was v2, you called your
> version v3 and will send out a v4 in just a moment.
>
> Don, can you please test it ?
>
Will test it soon.
-Don Slutz
> Thanks,
> Ian.
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v4] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-06 11:04 ` [PATCH v4] tools: work around collision of -O0 and -D_FORTIFY_SOURCE Ian Jackson
@ 2015-02-06 16:13 ` Don Slutz
2015-02-06 17:28 ` Ian Jackson
0 siblings, 1 reply; 24+ messages in thread
From: Don Slutz @ 2015-02-06 16:13 UTC (permalink / raw)
To: Ian Jackson, xen-devel
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Don Slutz, Euan Harris,
Jan Beulich
On 02/06/15 06:04, Ian Jackson wrote:
> Some systems have python-config include -D_FORTIFY_SOURCE in the
> CFLAGS. But -D_FORTIFY_SOURCE does not (currently) work with -O0, and
> -O0 is enabled in debug builds (since 1166ecf781). As a result, on
> those systems, debug builds fail.
>
> Work around this problem as follows:
> * In configure, detect -D_FORTIFY_SOURCE in $(python-config --cflags)
> * If detected, set the new autoconf substitution and make variable
> PY_NOOPT_CFLAGS to -O1.
> * In tools/Rules.mk, where we add -O0, also add PY_NOOPT_CFLAGS
> (which will override the -O0 with -O1 if required).
>
> Overriding the -O0 is better than disabling Fortify because the
> latter might have an adverse security impact. A user who wants to
> disable optimisation completely even for Python and also disable
> Fortify can set the environment variable
> EXTRA_CFLAGS_XEN_TOOLS='-U_FORTIFY_SOURCE -O0'
>
> Signed-off-by: Ian Jackson <Ian.Jackson@eu.citrix.com>
> Reported-by: Jan Beulich <JBeulich@suse.com>
> Signed-off-by: Jan Beulich <jbeulich@suse.com>
> CC: Jan Beulich <JBeulich@suse.com>
> CC: Ian Campbell <Ian.Campbell@citrix.com>
> CC: Euan Harris <euan.harris@citrix.com>
> CC: Wei Liu <wei.liu2@citrix.com>
> CC: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
> CC: Don Slutz <dslutz@verizon.com>
>
> ---
Works for me so:
Tested-by: Don Slutz <dslutz@verizon.com>
-Don Slutz
> v4: [Ian Jackson] Spot -Wp,-D_FORTIFY_SOURCE= too
> v3: [Jan Beulich] Limit no-optimization override to Python interface code.
> v2: [Ian Jackson] Use autoconf
> v1: [Jan Beulich] Initial proposal
> ---
> config/Tools.mk.in | 1 +
> m4/python_fortify_noopt.m4 | 31 +++++++++++++++++++++++++++++++
> tools/Rules.mk | 2 ++
> tools/configure | 39 +++++++++++++++++++++++++++++++++++++++
> tools/configure.ac | 2 ++
> tools/pygrub/Makefile | 6 ++++--
> tools/python/Makefile | 6 ++++--
> 7 files changed, 83 insertions(+), 4 deletions(-)
> create mode 100644 m4/python_fortify_noopt.m4
>
> diff --git a/config/Tools.mk.in b/config/Tools.mk.in
> index 30267fa..e7da99d 100644
> --- a/config/Tools.mk.in
> +++ b/config/Tools.mk.in
> @@ -13,6 +13,7 @@ BISON := @BISON@
> FLEX := @FLEX@
> PYTHON := @PYTHON@
> PYTHON_PATH := @PYTHONPATH@
> +PY_NOOPT_CFLAGS := @PY_NOOPT_CFLAGS@
> PERL := @PERL@
> CURL_CONFIG := @CURL@
> XML2_CONFIG := @XML@
> diff --git a/m4/python_fortify_noopt.m4 b/m4/python_fortify_noopt.m4
> new file mode 100644
> index 0000000..f9cb52b
> --- /dev/null
> +++ b/m4/python_fortify_noopt.m4
> @@ -0,0 +1,31 @@
> +dnl Defines PY_NOOPT_CFLAGS to either '' or -O1
> +dnl
> +
> +dnl This is necessary because on some systems setup.py includes
> +dnl -D_FORTIFY_SOURCE but have a -D_FORTIFY_SOURCE which breaks
> +dnl with -O0. On those systems we arrange to use -O1 for debug
> +dnl builds instead.
> +
> +AC_DEFUN([AX_CHECK_PYTHON_FORTIFY_NOOPT], [
> + AC_CACHE_CHECK([whether Python setup.py brokenly enables -D_FORTIFY_SOURCE],
> + [ax_cv_python_fortify],[
> + ax_cv_python_fortify=no
> + for arg in $($PYTHON-config --cflags); do
> + case "$arg" in
> + -D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
> + -D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
> + -Wp,-D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
> + -Wp,-D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
> + *) ;;
> + esac
> + done
> + ])
> +
> + AS_IF([test x$ax_cv_python_fortify = xyes],[
> + PY_NOOPT_CFLAGS=-O1
> + ], [
> + PY_NOOPT_CFLAGS=''
> + ])
> +
> + AC_SUBST(PY_NOOPT_CFLAGS)
> +])
> diff --git a/tools/Rules.mk b/tools/Rules.mk
> index 74cf37e..3c29d07 100644
> --- a/tools/Rules.mk
> +++ b/tools/Rules.mk
> @@ -57,6 +57,8 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
> ifeq ($(debug),y)
> # Disable optimizations and enable debugging information for macros
> CFLAGS += -O0 -g3
> +# But allow an override to -O0 in case Python enforces -D_FORTIFY_SOURCE=<n>.
> +PY_CFLAGS += $(PY_NOOPT_CFLAGS)
> endif
>
> LIBXL_BLKTAP ?= $(CONFIG_BLKTAP2)
> diff --git a/tools/configure b/tools/configure
> index ab04e8c..e7dac75 100755
> --- a/tools/configure
> +++ b/tools/configure
> @@ -652,6 +652,7 @@ PKG_CONFIG_LIBDIR
> PKG_CONFIG_PATH
> PKG_CONFIG
> CURSES_LIBS
> +PY_NOOPT_CFLAGS
> EGREP
> GREP
> CPP
> @@ -3453,6 +3454,10 @@ esac
>
>
>
> +
> +
> +
> +
> # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*-
> # serial 1 (pkg-config-0.24)
> #
> @@ -7043,6 +7048,40 @@ CPPFLAGS=$ac_previous_cppflags
> LDLFAGS=$ac_previous_ldflags
>
>
> + { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE" >&5
> +$as_echo_n "checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE... " >&6; }
> +if ${ax_cv_python_fortify+:} false; then :
> + $as_echo_n "(cached) " >&6
> +else
> +
> + ax_cv_python_fortify=no
> + for arg in $($PYTHON-config --cflags); do
> + case "$arg" in
> + -D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
> + -D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
> + -Wp,-D_FORTIFY_SOURCE=0) ax_cv_python_fortify=no ;;
> + -Wp,-D_FORTIFY_SOURCE=*) ax_cv_python_fortify=yes ;;
> + *) ;;
> + esac
> + done
> +
> +fi
> +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ax_cv_python_fortify" >&5
> +$as_echo "$ax_cv_python_fortify" >&6; }
> +
> + if test x$ax_cv_python_fortify = xyes; then :
> +
> + PY_NOOPT_CFLAGS=-O1
> +
> +else
> +
> + PY_NOOPT_CFLAGS=''
> +
> +fi
> +
> +
> +
> +
> fi
>
> if ! $rump; then
> diff --git a/tools/configure.ac b/tools/configure.ac
> index d9cbf1f..03dadd7 100644
> --- a/tools/configure.ac
> +++ b/tools/configure.ac
> @@ -58,6 +58,7 @@ m4_include([../m4/checkpolicy.m4])
> m4_include([../m4/set_cflags_ldflags.m4])
> m4_include([../m4/python_version.m4])
> m4_include([../m4/python_devel.m4])
> +m4_include([../m4/python_fortify_noopt.m4])
> m4_include([../m4/ocaml.m4])
> m4_include([../m4/uuid.m4])
> m4_include([../m4/pkg.m4])
> @@ -295,6 +296,7 @@ AX_CHECK_PYTHON_VERSION([2], [3])
>
> AS_IF([test "$cross_compiling" != yes], [
> AX_CHECK_PYTHON_DEVEL()
> + AX_CHECK_PYTHON_FORTIFY_NOOPT()
> ])
>
> if ! $rump; then
> diff --git a/tools/pygrub/Makefile b/tools/pygrub/Makefile
> index 6fd194c..00e654a 100644
> --- a/tools/pygrub/Makefile
> +++ b/tools/pygrub/Makefile
> @@ -2,15 +2,17 @@
> XEN_ROOT = $(CURDIR)/../..
> include $(XEN_ROOT)/tools/Rules.mk
>
> +PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS) $(APPEND_LDFLAGS)
> +
> .PHONY: all
> all: build
> .PHONY: build
> build:
> - CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
> + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
>
> .PHONY: install
> install: all
> - CC="$(CC)" CFLAGS="$(CFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
> + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
> $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" \
> --install-scripts=$(LIBEXEC_BIN) --force
> set -e; if [ $(BINDIR) != $(LIBEXEC_BIN) -a \
> diff --git a/tools/python/Makefile b/tools/python/Makefile
> index af95119..e933be8 100644
> --- a/tools/python/Makefile
> +++ b/tools/python/Makefile
> @@ -4,6 +4,8 @@ include $(XEN_ROOT)/tools/Rules.mk
> .PHONY: all
> all: build
>
> +PY_CFLAGS = $(CFLAGS) $(PY_NOOPT_CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)
> +
> .PHONY: build
> build: genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \
> $(XEN_ROOT)/tools/libxl/idl.py
> @@ -11,11 +13,11 @@ build: genwrap.py $(XEN_ROOT)/tools/libxl/libxl_types.idl \
> $(XEN_ROOT)/tools/libxl/libxl_types.idl \
> xen/lowlevel/xl/_pyxl_types.h \
> xen/lowlevel/xl/_pyxl_types.c
> - CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py build
> + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py build
>
> .PHONY: install
> install:
> - CC="$(CC)" CFLAGS="$(CFLAGS) $(LDFLAGS) $(APPEND_LDFLAGS)" $(PYTHON) setup.py install \
> + CC="$(CC)" CFLAGS="$(PY_CFLAGS)" $(PYTHON) setup.py install \
> $(PYTHON_PREFIX_ARG) --root="$(DESTDIR)" --force
>
> .PHONY: test
>
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH v4] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-06 16:13 ` Don Slutz
@ 2015-02-06 17:28 ` Ian Jackson
0 siblings, 0 replies; 24+ messages in thread
From: Ian Jackson @ 2015-02-06 17:28 UTC (permalink / raw)
To: Don Slutz
Cc: xen-devel, Wei Liu, Ian Campbell, Stefano Stabellini, Euan Harris,
Jan Beulich
Don Slutz writes ("Re: [PATCH v4] tools: work around collision of -O0 and -D_FORTIFY_SOURCE"):
> On 02/06/15 06:04, Ian Jackson wrote:
> > Some systems have python-config include -D_FORTIFY_SOURCE in the
> > CFLAGS. But -D_FORTIFY_SOURCE does not (currently) work with -O0, and
> > -O0 is enabled in debug builds (since 1166ecf781). As a result, on
> > those systems, debug builds fail.
>
> Works for me so:
>
> Tested-by: Don Slutz <dslutz@verizon.com>
Thanks, I have pushed this to staging.
AFAICT 1166ecf781 (the thing which broke this) isn't in staging-4.5 so
there is no need for a backport.
Thanks,
Ian.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-02-05 16:52 ` Jan Beulich
2015-02-05 16:56 ` Ian Jackson
@ 2015-09-01 14:54 ` George Dunlap
2015-09-01 15:10 ` Ian Campbell
1 sibling, 1 reply; 24+ messages in thread
From: George Dunlap @ 2015-09-01 14:54 UTC (permalink / raw)
To: Jan Beulich
Cc: Wei Liu, Ian Campbell, Stefano Stabellini, Ian Jackson, Don Slutz,
Euan Harris, xen-devel
[-- Attachment #1: Type: text/plain, Size: 6206 bytes --]
On Thu, Feb 5, 2015 at 4:52 PM, Jan Beulich <JBeulich@suse.com> wrote:
>>>> On 05.02.15 at 17:36, <ian.jackson@eu.citrix.com> wrote:
>> Some systems have python-config include -D_FORTIFY_SOURCE in the
>> CFLAGS. But -D_FORTIFY_SOURCE does not (currently) work with -O0, and
>> -O0 is enabled in debug builds (since 1166ecf781). As a result, on
>> those systems, debug builds fail.
>>
>> Work around this problem as follows:
>> * In configure, detect -D_FORTIFY_SOURCE in $(python-config --cflags)
>> * If detected, set the new autoconf substitution and make variable
>> PY_NOOPT_CFLAGS to -O1.
>> * In tools/Rules.mk, where we add -O0, also add PY_NOOPT_CFLAGS
>> (which will override the -O0 with -O1 if required).
>
> Not having tried it out yet (hopefully some time tomorrow), two
> a remark and a question:
>
>> --- /dev/null
>> +++ b/m4/python_fortify_noopt.m4
>> @@ -0,0 +1,29 @@
>> +dnl Defines PY_NOOPT_CFLAGS to either '' or -O1
>> +dnl
>> +
>> +dnl This is necessary because on some systems setup.py includes
>> +dnl -D_FORTIFY_SOURCE but have a -D_FORTIFY_SOURCE which breaks
>> +dnl with -O0. On those systems we arrange to use -O1 for debug
>> +dnl builds instead.
>> +
>> +AC_DEFUN([AX_CHECK_PYTHON_FORTIFY_NOOPT], [
>> + AC_CACHE_CHECK([whether Python setup.py brokenly enables -D_FORTIFY_SOURCE],
>
> I guess the people having added that would not like to see this
> called "brokenly".
>
>> --- a/tools/Rules.mk
>> +++ b/tools/Rules.mk
>> @@ -56,7 +56,7 @@ SHLIB_libxenvchan = -Wl,-rpath-link=$(XEN_LIBVCHAN)
>>
>> ifeq ($(debug),y)
>> # Disable optimizations and enable debugging information for macros
>> -CFLAGS += -O0 -g3
>> +CFLAGS += -O0 -g3 $(PY_NOOPT_CFLAGS)
>
> Why would you do this for all of the tools build rather than just the
> python components?
Because CentOS 7 somehow seems to have picked up _FORTIFY_SOURCE for libxc:
gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions
-fstack-protector-strong --param=ssp-buffer-size=4
-grecord-gcc-switches -m64 -mtune=generic -O1
-fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall
-Wstrict-prototypes -Wdeclaration-after-statement
-Wno-unused-but-set-variable -Wno-unused-local-typedefs -O1
-fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall
-Wstrict-prototypes -Wdeclaration-after-statement
-Wno-unused-but-set-variable -Wno-unused-local-typedefs -O0 -g3
-D__XEN_TOOLS__ -MMD -MF .subdirs-install.d -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -O1
-fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall
-Wstrict-prototypes -Wdeclaration-after-statement
-Wno-unused-but-set-variable -Wno-unused-local-typedefs -O0 -g3
-D__XEN_TOOLS__ -MMD -MF .subdir-install-libxc.d -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -O1
-fno-omit-frame-pointer -m64 -g -fno-strict-aliasing -std=gnu99 -Wall
-Wstrict-prototypes -Wdeclaration-after-statement
-Wno-unused-but-set-variable -Wno-unused-local-typedefs -O0 -g3
-D__XEN_TOOLS__ -MMD -MF .build.d -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -D_GNU_SOURCE
-I../../xen/common/libelf -Werror -Wmissing-prototypes -I. -I./include
-I/build/centos/git/xen/BUILD/xen-4.6.0rc2x/tools/libxc/../../tools/include
-pthread -O1 -fno-omit-frame-pointer -m64 -g -fno-strict-aliasing
-std=gnu99 -Wall -Wstrict-prototypes -Wdeclaration-after-statement
-Wno-unused-but-set-variable -Wno-unused-local-typedefs -O0 -g3
-D__XEN_TOOLS__ -MMD -MF .xc_cpupool.o.d -D_LARGEFILE_SOURCE
-D_LARGEFILE64_SOURCE -fno-optimize-sibling-calls -D_GNU_SOURCE
-I../../xen/common/libelf -Werror -Wmissing-prototypes -I. -I./include
-I/build/centos/git/xen/BUILD/xen-4.6.0rc2x/tools/libxc/../../tools/include
-pthread -include
/build/centos/git/xen/BUILD/xen-4.6.0rc2x/tools/libxc/../../tools/config.h
-c -o xc_cpupool.o xc_cpupool.c
In file included from /usr/include/unistd.h:25:0,
from xc_private.h:19,
from xc_altp2m.c:23:
/usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE
requires compiling with optimization (-O) [-Werror=cpp]
# warning _FORTIFY_SOURCE requires compiling with optimization (-O)
^
In file included from /usr/include/unistd.h:25:0,
from xg_private.h:19,
from xc_core_x86.c:20:
/usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE
requires compiling with optimization (-O) [-Werror=cpp]
# warning _FORTIFY_SOURCE requires compiling with optimization (-O)
^
In file included from /usr/include/unistd.h:25:0,
from xc_private.h:19,
from xc_cpupool.c:23:
/usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE
requires compiling with optimization (-O) [-Werror=cpp]
# warning _FORTIFY_SOURCE requires compiling with optimization (-O)
^
In file included from /usr/include/unistd.h:25:0,
from xg_private.h:19,
from xc_core.c:63:
/usr/include/features.h:330:4: error: #warning _FORTIFY_SOURCE
requires compiling with optimization (-O) [-Werror=cpp]
# warning _FORTIFY_SOURCE requires compiling with optimization (-O)
^
cc1: all warnings being treated as errors
cc1: all warnings being treated as errors
make[4]: *** [xc_core_x86.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[4]: *** [xc_cpupool.o] Error 1
cc1: all warnings being treated as errors
make[4]: *** [xc_core.o] Error 1
cc1: all warnings being treated as errors
make[4]: *** [xc_altp2m.o] Error 1
make[4]: Leaving directory
`/build/centos/git/xen/BUILD/xen-4.6.0rc2x/tools/libxc'
make[3]: *** [build] Error 2
make[3]: Leaving directory
`/build/centos/git/xen/BUILD/xen-4.6.0rc2x/tools/libxc'
make[2]: *** [subdir-install-libxc] Error 2
make[2]: Leaving directory `/build/centos/git/xen/BUILD/xen-4.6.0rc2x/tools'
make[1]: *** [subdirs-install] Error 2
make[1]: Leaving directory `/build/centos/git/xen/BUILD/xen-4.6.0rc2x/tools'
make: *** [install-tools] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.mIYLA9 (%build)
I'm not sure exactly how to track down where it came from; it just
seems to appear out of nowhere in the config.log and config.status
(attached).
-George
[-- Attachment #2: config.log --]
[-- Type: text/x-log, Size: 66598 bytes --]
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by Xen Hypervisor Tools configure 4.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ ./configure --disable-option-checking --prefix=/usr/local --enable-xend --libdir=/usr/lib64 --with-system-seabios=/usr/share/seabios/bios.bin --cache-file=/dev/null --srcdir=.
## --------- ##
## Platform. ##
## --------- ##
hostname = 7e3344c5f3a0
uname -m = x86_64
uname -r = 3.13.0-62-generic
uname -s = Linux
uname -v = #102-Ubuntu SMP Tue Aug 11 14:29:36 UTC 2015
/usr/bin/uname -p = x86_64
/bin/uname -X = unknown
/bin/arch = x86_64
/usr/bin/arch -k = unknown
/usr/convex/getsysinfo = unknown
/usr/bin/hostinfo = unknown
/bin/machine = unknown
/usr/bin/oslevel = unknown
/bin/universe = unknown
PATH: /usr/lib64/ccache
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /usr/sbin
PATH: /usr/bin
PATH: /sbin
PATH: /bin
PATH: /sbin/
PATH: /usr/sbin
PATH: /usr/local/sbin
PATH: /usr/local/bin
PATH: /home/gdunlap/bin
PATH: /home/gdunlap/hg/performance/tests.hg/lib
PATH: /opt/xensource/bin
PATH: /usr/groups/xencore/systems/bin
## ----------- ##
## Core tests. ##
## ----------- ##
configure:2448: WARNING: Setting CC, CFLAGS, LDFLAGS, LIBS, CPPFLAGS or CPP is not recommended, use PREPEND_INCLUDES, PREPEND_LIB, APPEND_INCLUDES and APPEND_LIB instead when possible.
configure:2459: checking build system type
configure:2473: result: x86_64-unknown-linux-gnu
configure:2493: checking host system type
configure:2506: result: x86_64-unknown-linux-gnu
configure:2581: checking for gcc
configure:2597: found /usr/lib64/ccache/gcc
configure:2608: result: gcc
configure:2837: checking for C compiler version
configure:2846: gcc --version >&5
gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:2857: $? = 0
configure:2846: gcc -v >&5
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.3/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC)
configure:2857: $? = 0
configure:2846: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:2857: $? = 4
configure:2846: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:2857: $? = 4
configure:2877: checking whether the C compiler works
configure:2899: gcc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:2903: $? = 0
configure:2951: result: yes
configure:2954: checking for C compiler default output file name
configure:2956: result: a.out
configure:2962: checking for suffix of executables
configure:2969: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:2973: $? = 0
configure:2995: result:
configure:3017: checking whether we are cross compiling
configure:3025: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:3029: $? = 0
configure:3036: ./conftest
configure:3040: $? = 0
configure:3055: result: no
configure:3060: checking for suffix of object files
configure:3082: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:3086: $? = 0
configure:3107: result: o
configure:3111: checking whether we are using the GNU C compiler
configure:3130: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:3130: $? = 0
configure:3139: result: yes
configure:3148: checking whether gcc accepts -g
configure:3168: gcc -c -g conftest.c >&5
configure:3168: $? = 0
configure:3209: result: yes
configure:3226: checking for gcc option to accept ISO C89
configure:3289: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:3289: $? = 0
configure:3302: result: none needed
configure:3330: checking for special C compiler options needed for large files
configure:3375: result: no
configure:3381: checking for _FILE_OFFSET_BITS value needed for large files
configure:3406: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:3406: $? = 0
configure:3438: result: no
configure:4430: checking for gcc
configure:4457: result: gcc
configure:4686: checking for C compiler version
configure:4695: gcc --version >&5
gcc (GCC) 4.8.3 20140911 (Red Hat 4.8.3-9)
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
configure:4706: $? = 0
configure:4695: gcc -v >&5
Using built-in specs.
COLLECT_GCC=/usr/bin/gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.3/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.3-20140911/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC)
configure:4706: $? = 0
configure:4695: gcc -V >&5
gcc: error: unrecognized command line option '-V'
gcc: fatal error: no input files
compilation terminated.
configure:4706: $? = 4
configure:4695: gcc -qversion >&5
gcc: error: unrecognized command line option '-qversion'
gcc: fatal error: no input files
compilation terminated.
configure:4706: $? = 4
configure:4710: checking whether we are using the GNU C compiler
configure:4738: result: yes
configure:4747: checking whether gcc accepts -g
configure:4808: result: yes
configure:4825: checking for gcc option to accept ISO C89
configure:4901: result: none needed
configure:4921: checking whether make sets $(MAKE)
configure:4943: result: yes
configure:4966: checking for a BSD-compatible install
configure:5034: result: /usr/bin/install -c
configure:5047: checking for bison
configure:5080: result: no
configure:5087: checking for flex
configure:5120: result: no
configure:5127: checking for perl
configure:5145: found /usr/bin/perl
configure:5158: result: /usr/bin/perl
configure:5172: checking for awk
configure:5190: found /usr/bin/awk
configure:5203: result: /usr/bin/awk
configure:5260: checking for ocamlc
configure:5276: found /usr/bin/ocamlc
configure:5287: result: ocamlc
configure:5312: result: OCaml version is 4.01.1+dev2-2013-12-18+CLOSED
configure:5321: result: OCaml library path is /usr/lib64/ocaml
configure:5371: checking for ocamlopt
configure:5387: found /usr/bin/ocamlopt
configure:5398: result: ocamlopt
configure:5481: checking for ocamlc.opt
configure:5497: found /usr/bin/ocamlc.opt
configure:5508: result: ocamlc.opt
configure:5585: checking for ocamlopt.opt
configure:5601: found /usr/bin/ocamlopt.opt
configure:5612: result: ocamlopt.opt
configure:5694: checking for ocaml
configure:5710: found /usr/bin/ocaml
configure:5721: result: ocaml
configure:5788: checking for ocamldep
configure:5804: found /usr/bin/ocamldep
configure:5815: result: ocamldep
configure:5882: checking for ocamlmktop
configure:5898: found /usr/bin/ocamlmktop
configure:5909: result: ocamlmktop
configure:5976: checking for ocamlmklib
configure:5992: found /usr/bin/ocamlmklib
configure:6003: result: ocamlmklib
configure:6070: checking for ocamldoc
configure:6100: result: no
configure:6164: checking for ocamlbuild
configure:6180: found /usr/bin/ocamlbuild
configure:6191: result: ocamlbuild
configure:6259: checking for ocamlfind
configure:6275: found /usr/bin/ocamlfind
configure:6286: result: ocamlfind
configure:6315: checking for gawk
configure:6342: result: /usr/bin/awk
configure:6526: checking for checkpolicy
configure:6556: result: no
configure:6596: checking for bash
configure:6627: result: /bin/sh
configure:6651: checking for python
configure:6669: found /usr/bin/python
configure:6682: result: /usr/bin/python
configure:6694: checking for python version >= 2.3
configure:6704: result: yes
configure:6713: checking how to run the C preprocessor
configure:6744: gcc -E conftest.c
configure:6744: $? = 0
configure:6758: gcc -E conftest.c
conftest.c:13:28: fatal error: ac_nonexistent.h: No such file or directory
#include <ac_nonexistent.h>
^
compilation terminated.
configure:6758: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:6783: result: gcc -E
configure:6803: gcc -E conftest.c
configure:6803: $? = 0
configure:6817: gcc -E conftest.c
conftest.c:13:28: fatal error: ac_nonexistent.h: No such file or directory
#include <ac_nonexistent.h>
^
compilation terminated.
configure:6817: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| /* end confdefs.h. */
| #include <ac_nonexistent.h>
configure:6846: checking for grep that handles long lines and -e
configure:6904: result: /usr/bin/grep
configure:6909: checking for egrep
configure:6971: result: /usr/bin/grep -E
configure:6976: checking for ANSI C header files
configure:6996: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:6996: $? = 0
configure:7069: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7069: $? = 0
configure:7069: ./conftest
configure:7069: $? = 0
configure:7080: result: yes
configure:7093: checking for sys/types.h
configure:7093: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7093: $? = 0
configure:7093: result: yes
configure:7093: checking for sys/stat.h
configure:7093: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7093: $? = 0
configure:7093: result: yes
configure:7093: checking for stdlib.h
configure:7093: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7093: $? = 0
configure:7093: result: yes
configure:7093: checking for string.h
configure:7093: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7093: $? = 0
configure:7093: result: yes
configure:7093: checking for memory.h
configure:7093: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7093: $? = 0
configure:7093: result: yes
configure:7093: checking for strings.h
configure:7093: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7093: $? = 0
configure:7093: result: yes
configure:7093: checking for inttypes.h
configure:7093: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7093: $? = 0
configure:7093: result: yes
configure:7093: checking for stdint.h
configure:7093: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7093: $? = 0
configure:7093: result: yes
configure:7093: checking for unistd.h
configure:7093: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7093: $? = 0
configure:7093: result: yes
configure:7114: checking for python-config
configure:7132: found /usr/bin/python-config
configure:7145: result: /usr/bin/python-config
configure:7178: checking Python.h usability
configure:7178: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv conftest.c >&5
In file included from /usr/include/python2.7/pyconfig.h:6:0,
from /usr/include/python2.7/Python.h:8,
from conftest.c:56:
/usr/include/python2.7/pyconfig-64.h:1182:0: warning: "_POSIX_C_SOURCE" redefined [enabled by default]
#define _POSIX_C_SOURCE 200112L
^
In file included from /usr/include/stdio.h:27:0,
from conftest.c:23:
/usr/include/features.h:168:0: note: this is the location of the previous definition
# define _POSIX_C_SOURCE 200809L
^
In file included from /usr/include/python2.7/pyconfig.h:6:0,
from /usr/include/python2.7/Python.h:8,
from conftest.c:56:
/usr/include/python2.7/pyconfig-64.h:1204:0: warning: "_XOPEN_SOURCE" redefined [enabled by default]
#define _XOPEN_SOURCE 600
^
In file included from /usr/include/stdio.h:27:0,
from conftest.c:23:
/usr/include/features.h:170:0: note: this is the location of the previous definition
# define _XOPEN_SOURCE 700
^
configure:7178: $? = 0
configure:7178: result: yes
configure:7178: checking Python.h presence
configure:7178: gcc -E -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv conftest.c
configure:7178: $? = 0
configure:7178: result: yes
configure:7178: checking for Python.h
configure:7178: result: yes
configure:7187: checking for PyArg_ParseTuple in -lpython2.7
configure:7212: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -I/usr/include/python2.7 -I/usr/include/python2.7 -fno-strict-aliasing -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -D_GNU_SOURCE -fPIC -fwrapv -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -lpython2.7 >&5
configure:7212: $? = 0
configure:7222: result: yes
configure:7239: checking whether Python setup.py brokenly enables -D_FORTIFY_SOURCE
configure:7257: result: yes
configure:7279: checking for xgettext
configure:7297: found /usr/bin/xgettext
configure:7310: result: /usr/bin/xgettext
configure:7326: checking for as86
configure:7344: found /usr/bin/as86
configure:7357: result: /usr/bin/as86
configure:7371: checking for ld86
configure:7389: found /usr/bin/ld86
configure:7402: result: /usr/bin/ld86
configure:7416: checking for bcc
configure:7434: found /usr/bin/bcc
configure:7447: result: /usr/bin/bcc
configure:7461: checking for iasl
configure:7479: found /usr/bin/iasl
configure:7492: result: /usr/bin/iasl
configure:7507: checking uuid/uuid.h usability
configure:7507: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7507: $? = 0
configure:7507: result: yes
configure:7507: checking uuid/uuid.h presence
configure:7507: gcc -E conftest.c
configure:7507: $? = 0
configure:7507: result: yes
configure:7507: checking for uuid/uuid.h
configure:7507: result: yes
configure:7510: checking for uuid_clear in -luuid
configure:7535: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -luuid -lpython2.7 >&5
configure:7535: $? = 0
configure:7544: result: yes
configure:7554: checking uuid.h usability
configure:7554: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
conftest.c:57:18: fatal error: uuid.h: No such file or directory
#include <uuid.h>
^
compilation terminated.
configure:7554: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| /* end confdefs.h. */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| # include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| # include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <uuid.h>
configure:7554: result: no
configure:7554: checking uuid.h presence
configure:7554: gcc -E conftest.c
conftest.c:24:18: fatal error: uuid.h: No such file or directory
#include <uuid.h>
^
compilation terminated.
configure:7554: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| /* end confdefs.h. */
| #include <uuid.h>
configure:7554: result: no
configure:7554: checking for uuid.h
configure:7554: result: no
configure:7567: checking curses.h usability
configure:7567: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7567: $? = 0
configure:7567: result: yes
configure:7567: checking curses.h presence
configure:7567: gcc -E conftest.c
configure:7567: $? = 0
configure:7567: result: yes
configure:7567: checking for curses.h
configure:7567: result: yes
configure:7570: checking for clear in -lcurses
configure:7595: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -lcurses -lpython2.7 >&5
configure:7595: $? = 0
configure:7604: result: yes
configure:7618: checking ncurses.h usability
configure:7618: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:7618: $? = 0
configure:7618: result: yes
configure:7618: checking ncurses.h presence
configure:7618: gcc -E conftest.c
configure:7618: $? = 0
configure:7618: result: yes
configure:7618: checking for ncurses.h
configure:7618: result: yes
configure:7621: checking for clear in -lncurses
configure:7646: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -lncurses -lpython2.7 >&5
configure:7646: $? = 0
configure:7655: result: yes
configure:7694: checking for define_key in -ltinfo
configure:7719: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -ltinfo -lpython2.7 >&5
configure:7719: $? = 0
configure:7728: result: yes
configure:7792: checking for pkg-config
configure:7810: found /usr/bin/pkg-config
configure:7822: result: /usr/bin/pkg-config
configure:7847: checking pkg-config is at least version 0.9.0
configure:7850: result: yes
configure:7862: checking for glib
configure:7869: $PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.12"
configure:7872: $? = 0
configure:7886: $PKG_CONFIG --exists --print-errors "glib-2.0 >= 2.12"
configure:7889: $? = 0
configure:7947: result: yes
configure:7953: checking for pixman
configure:7960: $PKG_CONFIG --exists --print-errors "pixman-1 >= 0.21.8"
configure:7963: $? = 0
configure:7977: $PKG_CONFIG --exists --print-errors "pixman-1 >= 0.21.8"
configure:7980: $? = 0
configure:8038: result: yes
configure:8047: checking for wget
configure:8078: result: /bin/false
configure:8148: checking bzlib.h usability
configure:8148: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:8148: $? = 0
configure:8148: result: yes
configure:8148: checking bzlib.h presence
configure:8148: gcc -E conftest.c
configure:8148: $? = 0
configure:8148: result: yes
configure:8148: checking for bzlib.h
configure:8148: result: yes
configure:8151: checking for BZ2_bzDecompressInit in -lbz2
configure:8176: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -lbz2 -lpython2.7 >&5
configure:8176: $? = 0
configure:8185: result: yes
configure:8195: checking lzma.h usability
configure:8195: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:8195: $? = 0
configure:8195: result: yes
configure:8195: checking lzma.h presence
configure:8195: gcc -E conftest.c
configure:8195: $? = 0
configure:8195: result: yes
configure:8195: checking for lzma.h
configure:8195: result: yes
configure:8198: checking for lzma_stream_decoder in -llzma
configure:8223: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -llzma -lpython2.7 >&5
configure:8223: $? = 0
configure:8232: result: yes
configure:8242: checking lzo/lzo1x.h usability
configure:8242: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
conftest.c:58:23: fatal error: lzo/lzo1x.h: No such file or directory
#include <lzo/lzo1x.h>
^
compilation terminated.
configure:8242: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| /* end confdefs.h. */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| # include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| # include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <lzo/lzo1x.h>
configure:8242: result: no
configure:8242: checking lzo/lzo1x.h presence
configure:8242: gcc -E conftest.c
conftest.c:25:23: fatal error: lzo/lzo1x.h: No such file or directory
#include <lzo/lzo1x.h>
^
compilation terminated.
configure:8242: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| /* end confdefs.h. */
| #include <lzo/lzo1x.h>
configure:8242: result: no
configure:8242: checking for lzo/lzo1x.h
configure:8242: result: no
configure:8292: checking for io_setup in -laio
configure:8317: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -laio -lpython2.7 >&5
configure:8317: $? = 0
configure:8326: result: yes
configure:8342: checking for MD5 in -lcrypto
configure:8367: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -lcrypto -laio -lpython2.7 >&5
configure:8367: $? = 0
configure:8376: result: yes
configure:8390: checking ext2fs/ext2fs.h usability
configure:8390: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:8390: $? = 0
configure:8390: result: yes
configure:8390: checking ext2fs/ext2fs.h presence
configure:8390: gcc -E conftest.c
configure:8390: $? = 0
configure:8390: result: yes
configure:8390: checking for ext2fs/ext2fs.h
configure:8390: result: yes
configure:8393: checking for ext2fs_open2 in -lext2fs
configure:8418: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -lext2fs -lcrypto -laio -lpython2.7 >&5
configure:8418: $? = 0
configure:8427: result: yes
configure:8442: checking ext4fs/ext2fs.h usability
configure:8442: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
conftest.c:61:27: fatal error: ext4fs/ext2fs.h: No such file or directory
#include <ext4fs/ext2fs.h>
^
compilation terminated.
configure:8442: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| #define HAVE_LIBAIO 1
| #define HAVE_LIBCRYPTO 1
| #define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>
| /* end confdefs.h. */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| # include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| # include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <ext4fs/ext2fs.h>
configure:8442: result: no
configure:8442: checking ext4fs/ext2fs.h presence
configure:8442: gcc -E conftest.c
conftest.c:28:27: fatal error: ext4fs/ext2fs.h: No such file or directory
#include <ext4fs/ext2fs.h>
^
compilation terminated.
configure:8442: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| #define HAVE_LIBAIO 1
| #define HAVE_LIBCRYPTO 1
| #define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>
| /* end confdefs.h. */
| #include <ext4fs/ext2fs.h>
configure:8442: result: no
configure:8442: checking for ext4fs/ext2fs.h
configure:8442: result: no
configure:8496: checking for gcry_md_hash_buffer in -lgcrypt
configure:8521: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -lgcrypt -lcrypto -laio -lpython2.7 >&5
/usr/bin/ld: cannot find -lgcrypt
collect2: error: ld returned 1 exit status
configure:8521: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| #define HAVE_LIBAIO 1
| #define HAVE_LIBCRYPTO 1
| #define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char gcry_md_hash_buffer ();
| int
| main ()
| {
| return gcry_md_hash_buffer ();
| ;
| return 0;
| }
configure:8530: result: no
configure:8540: checking for pthread flag
configure:8576: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -pthread -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic -pthread conftest.c -lcrypto -laio -lpython2.7 >&5
conftest.c: In function 'main':
conftest.c:32:3: warning: null argument where non-null required (argument 1) [-Wnonnull]
pthread_create(0,0,0,0);
^
conftest.c:32:3: warning: null argument where non-null required (argument 3) [-Wnonnull]
conftest.c:33:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
configure:8576: $? = 0
configure:8592: result: -pthread
configure:8609: checking libutil.h usability
configure:8609: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -Werror conftest.c >&5
conftest.c:61:21: fatal error: libutil.h: No such file or directory
#include <libutil.h>
^
compilation terminated.
configure:8609: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| #define HAVE_LIBAIO 1
| #define HAVE_LIBCRYPTO 1
| #define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>
| /* end confdefs.h. */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| # include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| # include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <libutil.h>
configure:8609: result: no
configure:8609: checking libutil.h presence
configure:8609: gcc -E -Werror conftest.c
conftest.c:28:21: fatal error: libutil.h: No such file or directory
#include <libutil.h>
^
compilation terminated.
configure:8609: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| #define HAVE_LIBAIO 1
| #define HAVE_LIBCRYPTO 1
| #define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>
| /* end confdefs.h. */
| #include <libutil.h>
configure:8609: result: no
configure:8609: checking for libutil.h
configure:8609: result: no
configure:8622: checking for openpty et al
configure:8651: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -lcrypto -laio -lpython2.7 -lutil >&5
conftest.c: In function 'main':
conftest.c:33:3: warning: implicit declaration of function 'openpty' [-Wimplicit-function-declaration]
openpty(0,0,0,0,0);
^
conftest.c:34:3: warning: implicit declaration of function 'login_tty' [-Wimplicit-function-declaration]
login_tty(0);
^
conftest.c:35:1: warning: control reaches end of non-void function [-Wreturn-type]
}
^
configure:8651: $? = 0
configure:8664: result: -lutil
configure:8669: checking for yajl_alloc in -lyajl
configure:8694: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -lyajl -lcrypto -laio -lpython2.7 -lutil >&5
configure:8694: $? = 0
configure:8703: result: yes
configure:8716: checking for deflateCopy in -lz
configure:8741: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -lz -lyajl -lcrypto -laio -lpython2.7 -lutil >&5
configure:8741: $? = 0
configure:8750: result: yes
configure:8763: checking for libiconv_open in -liconv
configure:8788: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -liconv -lz -lyajl -lcrypto -laio -lpython2.7 -lutil >&5
/usr/bin/ld: cannot find -liconv
collect2: error: ld returned 1 exit status
configure:8788: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| #define HAVE_LIBAIO 1
| #define HAVE_LIBCRYPTO 1
| #define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>
| #define HAVE_LIBYAJL 1
| #define HAVE_LIBZ 1
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char libiconv_open ();
| int
| main ()
| {
| return libiconv_open ();
| ;
| return 0;
| }
configure:8797: result: no
configure:8806: checking argp.h usability
configure:8806: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:8806: $? = 0
configure:8806: result: yes
configure:8806: checking argp.h presence
configure:8806: gcc -E conftest.c
configure:8806: $? = 0
configure:8806: result: yes
configure:8806: checking for argp.h
configure:8806: result: yes
configure:8809: checking for argp_usage in -largp
configure:8834: gcc -o conftest -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic conftest.c -largp -lz -lyajl -lcrypto -laio -lpython2.7 -lutil >&5
/usr/bin/ld: cannot find -largp
collect2: error: ld returned 1 exit status
configure:8834: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| #define HAVE_LIBAIO 1
| #define HAVE_LIBCRYPTO 1
| #define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>
| #define HAVE_LIBYAJL 1
| #define HAVE_LIBZ 1
| /* end confdefs.h. */
|
| /* Override any GCC internal prototype to avoid an error.
| Use char because int might match the return type of a GCC
| builtin and then its argument prototype would still apply. */
| #ifdef __cplusplus
| extern "C"
| #endif
| char argp_usage ();
| int
| main ()
| {
| return argp_usage ();
| ;
| return 0;
| }
configure:8843: result: no
configure:8990: checking yajl/yajl_version.h usability
configure:8990: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:8990: $? = 0
configure:8990: result: yes
configure:8990: checking yajl/yajl_version.h presence
configure:8990: gcc -E conftest.c
configure:8990: $? = 0
configure:8990: result: yes
configure:8990: checking for yajl/yajl_version.h
configure:8990: result: yes
configure:8990: checking sys/eventfd.h usability
configure:8990: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:8990: $? = 0
configure:8990: result: yes
configure:8990: checking sys/eventfd.h presence
configure:8990: gcc -E conftest.c
configure:8990: $? = 0
configure:8990: result: yes
configure:8990: checking for sys/eventfd.h
configure:8990: result: yes
configure:8990: checking valgrind/memcheck.h usability
configure:8990: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
conftest.c:65:31: fatal error: valgrind/memcheck.h: No such file or directory
#include <valgrind/memcheck.h>
^
compilation terminated.
configure:8990: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| #define HAVE_LIBAIO 1
| #define HAVE_LIBCRYPTO 1
| #define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>
| #define HAVE_LIBYAJL 1
| #define HAVE_LIBZ 1
| #define HAVE_YAJL_YAJL_VERSION_H 1
| #define HAVE_SYS_EVENTFD_H 1
| /* end confdefs.h. */
| #include <stdio.h>
| #ifdef HAVE_SYS_TYPES_H
| # include <sys/types.h>
| #endif
| #ifdef HAVE_SYS_STAT_H
| # include <sys/stat.h>
| #endif
| #ifdef STDC_HEADERS
| # include <stdlib.h>
| # include <stddef.h>
| #else
| # ifdef HAVE_STDLIB_H
| # include <stdlib.h>
| # endif
| #endif
| #ifdef HAVE_STRING_H
| # if !defined STDC_HEADERS && defined HAVE_MEMORY_H
| # include <memory.h>
| # endif
| # include <string.h>
| #endif
| #ifdef HAVE_STRINGS_H
| # include <strings.h>
| #endif
| #ifdef HAVE_INTTYPES_H
| # include <inttypes.h>
| #endif
| #ifdef HAVE_STDINT_H
| # include <stdint.h>
| #endif
| #ifdef HAVE_UNISTD_H
| # include <unistd.h>
| #endif
| #include <valgrind/memcheck.h>
configure:8990: result: no
configure:8990: checking valgrind/memcheck.h presence
configure:8990: gcc -E conftest.c
conftest.c:32:31: fatal error: valgrind/memcheck.h: No such file or directory
#include <valgrind/memcheck.h>
^
compilation terminated.
configure:8990: $? = 1
configure: failed program was:
| /* confdefs.h */
| #define PACKAGE_NAME "Xen Hypervisor Tools"
| #define PACKAGE_TARNAME "xen"
| #define PACKAGE_VERSION "4.6"
| #define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
| #define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
| #define PACKAGE_URL "http://www.xen.org/"
| #define HAVE_BLKTAP2 1
| #define HAVE_QEMU_TRADITIONAL 1
| #define HAVE_ROMBIOS 1
| #define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
| #define STDC_HEADERS 1
| #define HAVE_SYS_TYPES_H 1
| #define HAVE_SYS_STAT_H 1
| #define HAVE_STDLIB_H 1
| #define HAVE_STRING_H 1
| #define HAVE_MEMORY_H 1
| #define HAVE_STRINGS_H 1
| #define HAVE_INTTYPES_H 1
| #define HAVE_STDINT_H 1
| #define HAVE_UNISTD_H 1
| #define HAVE_LIBPYTHON2_7 1
| #define INCLUDE_CURSES_H <ncurses.h>
| #define HAVE_LIBAIO 1
| #define HAVE_LIBCRYPTO 1
| #define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>
| #define HAVE_LIBYAJL 1
| #define HAVE_LIBZ 1
| #define HAVE_YAJL_YAJL_VERSION_H 1
| #define HAVE_SYS_EVENTFD_H 1
| /* end confdefs.h. */
| #include <valgrind/memcheck.h>
configure:8990: result: no
configure:8990: checking for valgrind/memcheck.h
configure:8990: result: no
configure:8990: checking utmp.h usability
configure:8990: gcc -c -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic conftest.c >&5
configure:8990: $? = 0
configure:8990: result: yes
configure:8990: checking utmp.h presence
configure:8990: gcc -E conftest.c
configure:8990: $? = 0
configure:8990: result: yes
configure:8990: checking for utmp.h
configure:8990: result: yes
configure:9004: checking for LIBNL3
configure:9011: $PKG_CONFIG --exists --print-errors "libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8"
Package libnl-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libnl-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libnl-3.0' found
Package libnl-route-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libnl-route-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libnl-route-3.0' found
configure:9014: $? = 1
configure:9028: $PKG_CONFIG --exists --print-errors "libnl-3.0 >= 3.2.8 libnl-route-3.0 >= 3.2.8"
Package libnl-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libnl-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libnl-3.0' found
Package libnl-route-3.0 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libnl-route-3.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libnl-route-3.0' found
configure:9031: $? = 1
configure:9045: result: no
No package 'libnl-3.0' found
No package 'libnl-route-3.0' found
configure:9078: WARNING: Disabling support for Remus network buffering.
Please install libnl3 libraries, command line tools and devel
headers - version 3.2.8 or higher
configure:9147: checking for SYSTEMD
configure:9154: $PKG_CONFIG --exists --print-errors "libsystemd-daemon"
Package libsystemd-daemon was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsystemd-daemon.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libsystemd-daemon' found
configure:9157: $? = 1
configure:9171: $PKG_CONFIG --exists --print-errors "libsystemd-daemon"
Package libsystemd-daemon was not found in the pkg-config search path.
Perhaps you should add the directory containing `libsystemd-daemon.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libsystemd-daemon' found
configure:9174: $? = 1
configure:9188: result: no
No package 'libsystemd-daemon' found
configure:9477: creating ./config.status
## ---------------------- ##
## Running config.status. ##
## ---------------------- ##
This file was extended by Xen Hypervisor Tools config.status 4.6, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES =
CONFIG_HEADERS =
CONFIG_LINKS =
CONFIG_COMMANDS =
$ ./config.status
on 7e3344c5f3a0
config.status:951: creating ../config/Tools.mk
config.status:951: creating hotplug/FreeBSD/rc.d/xencommons
config.status:951: creating hotplug/FreeBSD/rc.d/xendriverdomain
config.status:951: creating hotplug/Linux/init.d/sysconfig.xencommons
config.status:951: creating hotplug/Linux/init.d/xen-watchdog
config.status:951: creating hotplug/Linux/init.d/xencommons
config.status:951: creating hotplug/Linux/init.d/xendomains
config.status:951: creating hotplug/Linux/init.d/xendriverdomain
config.status:951: creating hotplug/Linux/vif-setup
config.status:951: creating hotplug/Linux/xen-hotplug-common.sh
config.status:951: creating hotplug/Linux/xendomains
config.status:951: creating hotplug/NetBSD/rc.d/xencommons
config.status:951: creating hotplug/NetBSD/rc.d/xendriverdomain
config.status:951: creating libxl/xenlight.pc.in
config.status:951: creating libxl/xlutil.pc.in
config.status:951: creating config.h
## ---------------- ##
## Cache variables. ##
## ---------------- ##
ac_cv_build=x86_64-unknown-linux-gnu
ac_cv_c_compiler_gnu=yes
ac_cv_env_APPEND_INCLUDES_set=
ac_cv_env_APPEND_INCLUDES_value=
ac_cv_env_APPEND_LIB_set=
ac_cv_env_APPEND_LIB_value=
ac_cv_env_AS86_set=
ac_cv_env_AS86_value=
ac_cv_env_AWK_set=
ac_cv_env_AWK_value=
ac_cv_env_BASH_set=set
ac_cv_env_BASH_value=/bin/sh
ac_cv_env_BCC_set=
ac_cv_env_BCC_value=
ac_cv_env_BISON_set=
ac_cv_env_BISON_value=
ac_cv_env_CC_set=
ac_cv_env_CC_value=
ac_cv_env_CFLAGS_set=set
ac_cv_env_CFLAGS_value='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic'
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_CURL_set=
ac_cv_env_CURL_value=
ac_cv_env_FLEX_set=
ac_cv_env_FLEX_value=
ac_cv_env_IASL_set=
ac_cv_env_IASL_value=
ac_cv_env_LD86_set=
ac_cv_env_LD86_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_LIBNL3_CFLAGS_set=
ac_cv_env_LIBNL3_CFLAGS_value=
ac_cv_env_LIBNL3_LIBS_set=
ac_cv_env_LIBNL3_LIBS_value=
ac_cv_env_LIBS_set=
ac_cv_env_LIBS_value=
ac_cv_env_PERL_set=
ac_cv_env_PERL_value=
ac_cv_env_PKG_CONFIG_LIBDIR_set=
ac_cv_env_PKG_CONFIG_LIBDIR_value=
ac_cv_env_PKG_CONFIG_PATH_set=set
ac_cv_env_PKG_CONFIG_PATH_value='%{_PKG_CONFIG_PATH}:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
ac_cv_env_PKG_CONFIG_set=
ac_cv_env_PKG_CONFIG_value=
ac_cv_env_PREPEND_INCLUDES_set=
ac_cv_env_PREPEND_INCLUDES_value=
ac_cv_env_PREPEND_LIB_set=
ac_cv_env_PREPEND_LIB_value=
ac_cv_env_PYTHON_set=
ac_cv_env_PYTHON_value=
ac_cv_env_SYSTEMD_CFLAGS_set=
ac_cv_env_SYSTEMD_CFLAGS_value=
ac_cv_env_SYSTEMD_LIBS_set=
ac_cv_env_SYSTEMD_LIBS_value=
ac_cv_env_XGETTEXT_set=
ac_cv_env_XGETTEXT_value=
ac_cv_env_XML_set=
ac_cv_env_XML_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_glib_CFLAGS_set=
ac_cv_env_glib_CFLAGS_value=
ac_cv_env_glib_LIBS_set=
ac_cv_env_glib_LIBS_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_pixman_CFLAGS_set=
ac_cv_env_pixman_CFLAGS_value=
ac_cv_env_pixman_LIBS_set=
ac_cv_env_pixman_LIBS_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_header_Python_h=yes
ac_cv_header_argp_h=yes
ac_cv_header_bzlib_h=yes
ac_cv_header_curses_h=yes
ac_cv_header_ext2fs_ext2fs_h=yes
ac_cv_header_ext4fs_ext2fs_h=no
ac_cv_header_inttypes_h=yes
ac_cv_header_libutil_h=no
ac_cv_header_lzma_h=yes
ac_cv_header_lzo_lzo1x_h=no
ac_cv_header_memory_h=yes
ac_cv_header_ncurses_h=yes
ac_cv_header_stdc=yes
ac_cv_header_stdint_h=yes
ac_cv_header_stdlib_h=yes
ac_cv_header_string_h=yes
ac_cv_header_strings_h=yes
ac_cv_header_sys_eventfd_h=yes
ac_cv_header_sys_stat_h=yes
ac_cv_header_sys_types_h=yes
ac_cv_header_unistd_h=yes
ac_cv_header_utmp_h=yes
ac_cv_header_uuid_h=no
ac_cv_header_uuid_uuid_h=yes
ac_cv_header_valgrind_memcheck_h=no
ac_cv_header_yajl_yajl_version_h=yes
ac_cv_host=x86_64-unknown-linux-gnu
ac_cv_lib_aio_io_setup=yes
ac_cv_lib_argp_argp_usage=no
ac_cv_lib_bz2_BZ2_bzDecompressInit=yes
ac_cv_lib_crypto_MD5=yes
ac_cv_lib_curses_clear=yes
ac_cv_lib_ext2fs_ext2fs_open2=yes
ac_cv_lib_gcrypt_gcry_md_hash_buffer=no
ac_cv_lib_iconv_libiconv_open=no
ac_cv_lib_lzma_lzma_stream_decoder=yes
ac_cv_lib_ncurses_clear=yes
ac_cv_lib_python2_7___PyArg_ParseTuple=yes
ac_cv_lib_tinfo_define_key=yes
ac_cv_lib_uuid_uuid_clear=yes
ac_cv_lib_yajl_yajl_alloc=yes
ac_cv_lib_z_deflateCopy=yes
ac_cv_objext=o
ac_cv_path_AS86=/usr/bin/as86
ac_cv_path_AWK=/usr/bin/awk
ac_cv_path_BASH=/bin/sh
ac_cv_path_BCC=/usr/bin/bcc
ac_cv_path_EGREP='/usr/bin/grep -E'
ac_cv_path_GREP=/usr/bin/grep
ac_cv_path_IASL=/usr/bin/iasl
ac_cv_path_LD86=/usr/bin/ld86
ac_cv_path_PERL=/usr/bin/perl
ac_cv_path_PYTHONPATH=/usr/bin/python
ac_cv_path_WGET=/bin/false
ac_cv_path_XGETTEXT=/usr/bin/xgettext
ac_cv_path_ac_pt_PKG_CONFIG=/usr/bin/pkg-config
ac_cv_path_install='/usr/bin/install -c'
ac_cv_path_pyconfig=/usr/bin/python-config
ac_cv_prog_AWK=/usr/bin/awk
ac_cv_prog_CPP='gcc -E'
ac_cv_prog_ac_ct_CC=gcc
ac_cv_prog_ac_ct_OCAML=ocaml
ac_cv_prog_ac_ct_OCAMLBUILD=ocamlbuild
ac_cv_prog_ac_ct_OCAMLC=ocamlc
ac_cv_prog_ac_ct_OCAMLCDOTOPT=ocamlc.opt
ac_cv_prog_ac_ct_OCAMLDEP=ocamldep
ac_cv_prog_ac_ct_OCAMLFIND=ocamlfind
ac_cv_prog_ac_ct_OCAMLMKLIB=ocamlmklib
ac_cv_prog_ac_ct_OCAMLMKTOP=ocamlmktop
ac_cv_prog_ac_ct_OCAMLOPT=ocamlopt
ac_cv_prog_ac_ct_OCAMLOPTDOTOPT=ocamlopt.opt
ac_cv_prog_cc_c89=
ac_cv_prog_cc_g=yes
ac_cv_prog_make_make_set=yes
ac_cv_sys_file_offset_bits=no
ac_cv_sys_largefile_CC=no
ax_cv_debug=y
ax_cv_githttp=n
ax_cv_monitors=y
ax_cv_ocamltools=y
ax_cv_ovmf=n
ax_cv_pthread_flags=-pthread
ax_cv_ptyfuncs_libs=-lutil
ax_cv_python_fortify=yes
ax_cv_rpath=n
ax_cv_seabios=y
ax_cv_systemd=n
ax_cv_xsmpolicy=y
pkg_cv_glib_CFLAGS='-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include '
pkg_cv_glib_LIBS='-lglib-2.0 '
pkg_cv_pixman_CFLAGS='-I/usr/include/pixman-1 '
pkg_cv_pixman_LIBS='-lpixman-1 '
## ----------------- ##
## Output variables. ##
## ----------------- ##
APPEND_INCLUDES=''
APPEND_LIB=''
AS86='/usr/bin/as86'
AWK='/usr/bin/awk'
BASH='/bin/sh'
BCC='/usr/bin/bcc'
BISON=''
CC='gcc'
CFLAGS='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -m64 -mtune=generic'
CHECKPOLICY='no'
CONFIG_DIR='/etc'
CONFIG_LEAF_DIR='sysconfig'
CONFIG_RUMP='n'
CPP='gcc -E'
CPPFLAGS=' '
CURL=''
CURSES_LIBS='-lncurses'
DEFS='-DHAVE_CONFIG_H'
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='/usr/bin/grep -E'
EXEEXT=''
EXTFS_LIBS='-lext2fs'
EXTRA_QEMUU_CONFIGURE_ARGS=''
FETCHER='/bin/false -c -O'
FILE_OFFSET_BITS=''
FLEX=''
FTP=''
GREP='/usr/bin/grep'
IASL='/usr/bin/iasl'
INITD_DIR='/etc/rc.d/init.d'
INSTALL_DATA='${INSTALL} -m 644'
INSTALL_PROGRAM='${INSTALL}'
INSTALL_SCRIPT='${INSTALL}'
LD86='/usr/bin/ld86'
LDFLAGS=' -lpthread -ldl -lutil -lm -lpython2.7 -Xlinker -export-dynamic'
LIBEXEC_BIN='/usr/local/lib/xen/bin'
LIBNL3_CFLAGS=''
LIBNL3_LIBS=''
LIBOBJS=''
LIBS='-lz -lyajl -lcrypto -laio -lpython2.7 -lutil'
LINUX_BACKEND_MODULES='xen-evtchn xen-gntdev xen-gntalloc xen-blkback xen-netback xen-pciback evtchn gntdev netbk blkbk xen-scsibk usbbk pciback xen-acpi-processor blktap2'
LTLIBOBJS=''
OBJEXT='o'
OCAML='ocaml'
OCAMLBEST='opt'
OCAMLBUILD='ocamlbuild'
OCAMLC='ocamlc.opt'
OCAMLCDOTOPT='ocamlc.opt'
OCAMLDEP='ocamldep'
OCAMLDOC='no'
OCAMLFIND='ocamlfind'
OCAMLLIB='/usr/lib64/ocaml'
OCAMLMKLIB='ocamlmklib'
OCAMLMKTOP='ocamlmktop'
OCAMLOPT='ocamlopt.opt'
OCAMLOPTDOTOPT='ocamlopt.opt'
OCAMLVERSION='4.01.1+dev2-2013-12-18+CLOSED'
PACKAGE_BUGREPORT='xen-devel@lists.xen.org'
PACKAGE_NAME='Xen Hypervisor Tools'
PACKAGE_STRING='Xen Hypervisor Tools 4.6'
PACKAGE_TARNAME='xen'
PACKAGE_URL='http://www.xen.org/'
PACKAGE_VERSION='4.6'
PATH_SEPARATOR=':'
PERL='/usr/bin/perl'
PKG_CONFIG='/usr/bin/pkg-config'
PKG_CONFIG_LIBDIR=''
PKG_CONFIG_PATH='%{_PKG_CONFIG_PATH}:/usr/lib64/pkgconfig:/usr/share/pkgconfig'
PREPEND_INCLUDES=''
PREPEND_LIB=''
PTHREAD_CFLAGS='-pthread'
PTHREAD_LDFLAGS='-pthread'
PTHREAD_LIBS=''
PTYFUNCS_LIBS='-lutil'
PYTHON='python'
PYTHONPATH='/usr/bin/python'
PY_NOOPT_CFLAGS='-O1'
SET_MAKE=''
SHAREDIR='/usr/local/share'
SHELL='/bin/sh'
SYSTEMD_CFLAGS=''
SYSTEMD_DIR=''
SYSTEMD_LIBS=''
SYSTEMD_MODULES_LOAD=''
TINFO_LIBS='-ltinfo'
WGET='/bin/false'
XENFIRMWAREDIR='/usr/local/lib/xen/boot'
XENSTORED='/usr/local/sbin/oxenstored'
XEN_CONFIG_DIR='/etc/xen'
XEN_DUMP_DIR='/var/lib/xen/dump'
XEN_LIB_STORED='/var/lib/xenstored'
XEN_LOCK_DIR='/var/lock'
XEN_LOG_DIR='/var/log/xen'
XEN_PAGING_DIR='/var/lib/xen/xenpaging'
XEN_RUN_DIR='/var/run/xen'
XEN_SCRIPT_DIR='/etc/xen/scripts'
XGETTEXT='/usr/bin/xgettext'
XML=''
ac_ct_CC='gcc'
argp_ldflags=''
bindir='/usr/local/bin'
blktap2='y'
build='x86_64-unknown-linux-gnu'
build_alias=''
build_cpu='x86_64'
build_os='linux-gnu'
build_vendor='unknown'
datadir='${datarootdir}'
datarootdir='${prefix}/share'
debug='y'
docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
dvidir='${docdir}'
exec_prefix='/usr/local'
githttp='n'
glib_CFLAGS='-I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include '
glib_LIBS='-lglib-2.0 '
host='x86_64-unknown-linux-gnu'
host_alias=''
host_cpu='x86_64'
host_os='linux-gnu'
host_vendor='unknown'
htmldir='${docdir}'
includedir='${prefix}/include'
infodir='${datarootdir}/info'
libdir='/usr/lib64'
libexecdir='/usr/local/lib'
libgcrypt='n'
libiconv='n'
localedir='${datarootdir}/locale'
localstatedir='/var'
mandir='${datarootdir}/man'
monitors='y'
ocamltools='y'
oldincludedir='/usr/include'
ovmf='n'
ovmf_path=''
pdfdir='${docdir}'
pixman_CFLAGS='-I/usr/include/pixman-1 '
pixman_LIBS='-lpixman-1 '
prefix='/usr/local'
program_transform_name='s,x,x,'
psdir='${docdir}'
pyconfig='/usr/bin/python-config'
qemu_traditional='y'
qemu_xen='y'
qemu_xen_path='/usr/local/lib/xen/bin/qemu-system-i386'
qemu_xen_systemd='/usr/local/lib/xen/bin/qemu-system-i386'
remus_netbuf='n'
rombios='y'
rpath='n'
sbindir='/usr/local/sbin'
seabios='y'
seabios_path='/usr/share/seabios/bios.bin'
sharedstatedir='${prefix}/com'
sysconfdir='/etc'
system_aio=''
systemd='n'
target_alias=''
xsmpolicy='n'
zlib=' -DHAVE_BZLIB -lbz2 -DHAVE_LZMA -llzma'
## ----------- ##
## confdefs.h. ##
## ----------- ##
/* confdefs.h */
#define PACKAGE_NAME "Xen Hypervisor Tools"
#define PACKAGE_TARNAME "xen"
#define PACKAGE_VERSION "4.6"
#define PACKAGE_STRING "Xen Hypervisor Tools 4.6"
#define PACKAGE_BUGREPORT "xen-devel@lists.xen.org"
#define PACKAGE_URL "http://www.xen.org/"
#define HAVE_BLKTAP2 1
#define HAVE_QEMU_TRADITIONAL 1
#define HAVE_ROMBIOS 1
#define QEMU_XEN_PATH "/usr/local/lib/xen/bin/qemu-system-i386"
#define STDC_HEADERS 1
#define HAVE_SYS_TYPES_H 1
#define HAVE_SYS_STAT_H 1
#define HAVE_STDLIB_H 1
#define HAVE_STRING_H 1
#define HAVE_MEMORY_H 1
#define HAVE_STRINGS_H 1
#define HAVE_INTTYPES_H 1
#define HAVE_STDINT_H 1
#define HAVE_UNISTD_H 1
#define HAVE_LIBPYTHON2_7 1
#define INCLUDE_CURSES_H <ncurses.h>
#define HAVE_LIBAIO 1
#define HAVE_LIBCRYPTO 1
#define INCLUDE_EXTFS_H <ext2fs/ext2fs.h>
#define HAVE_LIBYAJL 1
#define HAVE_LIBZ 1
#define HAVE_YAJL_YAJL_VERSION_H 1
#define HAVE_SYS_EVENTFD_H 1
#define HAVE_UTMP_H 1
configure: exit 0
[-- Attachment #3: config.status --]
[-- Type: application/octet-stream, Size: 35412 bytes --]
[-- Attachment #4: Type: text/plain, Size: 126 bytes --]
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-09-01 14:54 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE George Dunlap
@ 2015-09-01 15:10 ` Ian Campbell
2015-09-01 16:21 ` George Dunlap
0 siblings, 1 reply; 24+ messages in thread
From: Ian Campbell @ 2015-09-01 15:10 UTC (permalink / raw)
To: George Dunlap, Jan Beulich
Cc: Wei Liu, Stefano Stabellini, Ian Jackson, Don Slutz, Euan Harris,
xen-devel
On Tue, 2015-09-01 at 15:54 +0100, George Dunlap wrote:
>
> I'm not sure exactly how to track down where it came from; it just
> seems to appear out of nowhere in the config.log and config.status
> (attached).
How was configure invoked? Was this a command line build or inside the
rpmbuild stuff?
Ian.
^ permalink raw reply [flat|nested] 24+ messages in thread
* Re: [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE
2015-09-01 15:10 ` Ian Campbell
@ 2015-09-01 16:21 ` George Dunlap
0 siblings, 0 replies; 24+ messages in thread
From: George Dunlap @ 2015-09-01 16:21 UTC (permalink / raw)
To: Ian Campbell
Cc: Wei Liu, Stefano Stabellini, Ian Jackson, Don Slutz, Euan Harris,
Jan Beulich, xen-devel
On Tue, Sep 1, 2015 at 4:10 PM, Ian Campbell <ian.campbell@citrix.com> wrote:
> On Tue, 2015-09-01 at 15:54 +0100, George Dunlap wrote:
>>
>> I'm not sure exactly how to track down where it came from; it just
>> seems to appear out of nowhere in the config.log and config.status
>> (attached).
>
> How was configure invoked? Was this a command line build or inside the
> rpmbuild stuff?
Using rpmbuild. Nothing in the .spec file says it's enabled; but
running "./configure [blah] ; make tools" directly seems to work just
fine, so it must be something w/ rpmbuild.
It would be a Nice To Have to allow debug builds to work with
_FORTIFY_SOURCE, but certainly not urgent.
I think for my purposes I'll just turn off debug builds for now.
-George
^ permalink raw reply [flat|nested] 24+ messages in thread
end of thread, other threads:[~2015-09-01 16:21 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-04 17:01 [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE Jan Beulich
2015-02-04 23:33 ` Don Slutz
2015-02-05 10:17 ` Jan Beulich
2015-02-05 14:55 ` Don Slutz
2015-02-05 11:08 ` Ian Jackson
2015-02-05 11:18 ` Jan Beulich
2015-02-05 12:25 ` Ian Campbell
2015-02-05 15:26 ` Ian Jackson
2015-02-05 15:46 ` Jan Beulich
2015-02-05 15:47 ` Euan Harris
2015-02-05 16:36 ` Ian Jackson
2015-02-05 16:52 ` Jan Beulich
2015-02-05 16:56 ` Ian Jackson
2015-02-05 17:01 ` Jan Beulich
2015-02-06 8:19 ` Jan Beulich
2015-02-06 8:22 ` Jan Beulich
2015-02-06 11:04 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE [and 1 more messages] Ian Jackson
2015-02-06 11:04 ` [PATCH v4] tools: work around collision of -O0 and -D_FORTIFY_SOURCE Ian Jackson
2015-02-06 16:13 ` Don Slutz
2015-02-06 17:28 ` Ian Jackson
2015-02-06 15:24 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE [and 1 more messages] Don Slutz
2015-09-01 14:54 ` [PATCH] tools: work around collision of -O0 and -D_FORTIFY_SOURCE George Dunlap
2015-09-01 15:10 ` Ian Campbell
2015-09-01 16:21 ` George Dunlap
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.