Here is an example libxl module gcc command:
gcc -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 -D__XEN_TOOLS__
-MMD -MF .libxl.o.d -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE
-fno-optimize-sibling-calls -Werror -Wno-format-zero-length
-Wmissing-declarations -Wno-declaration-after-statement -Wformat-nonliteral
-I. -fPIC -pthread -I/root/xen/tools/libxl/../../tools/libxc/include
-I/root/xen/tools/libxl/../../tools/include
-I/root/xen/tools/libxl/../../tools/libxc/include
-I/root/xen/tools/libxl/../../tools/include
-I/root/xen/tools/libxl/../../tools/xenstore/include
-I/root/xen/tools/libxl/../../tools/include
-I/root/xen/tools/libxl/../../tools/blktap2/control
-I/root/xen/tools/libxl/../../tools/blktap2/include
-I/root/xen/tools/libxl/../../tools/include -Wshadow -include
/root/xen/tools/libxl/../../tools/config.h -c -o libxl.o libxl.c
I was unable to successfully make libvirt (more on that later), but here is
an example libvirt module gcc command:
/bin/bash ../libtool --tag=CC --mode=compile gcc -std=gnu99
-DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib -I../gnulib/lib -I.. -I../include
-I../include -I./util -DIN_LIBVIRT
-Dabs_topbuilddir="\"/root/libvirt-1.2.12\""
-I/usr/include/libnl3
-I/usr/include/libnl3 -I/usr/include/libxml2 -W -Waddress
-Waggressive-loop-optimizations -Wall -Warray-bounds -Wattributes
-Wbad-function-cast -Wbuiltin-macro-redefined -Wcast-align
-Wchar-subscripts -Wclobbered -Wcomment -Wcomments -Wcoverage-mismatch
-Wcpp -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero
-Wdouble-promotion -Wempty-body -Wendif-labels -Wextra
-Wformat-contains-nul -Wformat-extra-args -Wformat-security -Wformat-y2k
-Wformat-zero-length -Wfree-nonheap-object -Wignored-qualifiers -Wimplicit
-Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline
-Wint-to-pointer-cast -Winvalid-memory-model -Winvalid-pch
-Wjump-misses-init -Wlogical-op -Wmain -Wmaybe-uninitialized
-Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers
-Wmissing-include-dirs -Wmissing-parameter-type -Wmissing-prototypes
-Wmultichar -Wnarrowing -Wnested-externs -Wnonnull -Wold-style-declaration
-Wold-style-definition -Woverflow -Woverride-init -Wpacked-bitfield-compat
-Wparentheses -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast
-Wpragmas -Wreturn-local-addr -Wreturn-type -Wsequence-point -Wshadow
-Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-prototypes
-Wsuggest-attribute=const -Wsuggest-attribute=format
-Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wswitch -Wsync-nand
-Wtrampolines -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas
-Wunused -Wunused-but-set-parameter -Wunused-but-set-variable
-Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter
-Wunused-result -Wunused-value -Wunused-variable -Wvarargs
-Wvariadic-macros -Wvector-operation-performance -Wvolatile-register-var
-Wwrite-strings -Wnormalized=nfc -Wno-sign-compare -Wjump-misses-init
-Wno-format-nonliteral -Wframe-larger-than=4096 -fexceptions
-fasynchronous-unwind-tables -fipa-pure-const -Wno-suggest-attribute=pure
-Wno-suggest-attribute=const -fstack-protector-all
-I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include
-I./conf -g -O2 -MT util/libvirt_util_la-viralloc.lo -MD -MP -MF
util/.deps/libvirt_util_la-viralloc.Tpo -c -o
util/libvirt_util_la-viralloc.lo `test -f 'util/viralloc.c' || echo
'./'`util/viralloc.c
libtool: compile: gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I.. -I../gnulib/lib
-I../gnulib/lib -I.. -I../include -I../include -I./util -DIN_LIBVIRT
-Dabs_topbuilddir=\"/root/libvirt-1.2.12\" -I/usr/include/libnl3
-I/usr/include/libnl3 -I/usr/include/libxml2 -W -Waddress
-Waggressive-loop-optimizations -Wall -Warray-bounds -Wattributes
-Wbad-function-cast -Wbuiltin-macro-redefined -Wcast-align
-Wchar-subscripts -Wclobbered -Wcomment -Wcomments -Wcoverage-mismatch
-Wcpp -Wdeprecated-declarations -Wdisabled-optimization -Wdiv-by-zero
-Wdouble-promotion -Wempty-body -Wendif-labels -Wextra
-Wformat-contains-nul -Wformat-extra-args -Wformat-security -Wformat-y2k
-Wformat-zero-length -Wfree-nonheap-object -Wignored-qualifiers -Wimplicit
-Wimplicit-function-declaration -Wimplicit-int -Winit-self -Winline
-Wint-to-pointer-cast -Winvalid-memory-model -Winvalid-pch
-Wjump-misses-init -Wlogical-op -Wmain -Wmaybe-uninitialized
-Wmissing-braces -Wmissing-declarations -Wmissing-field-initializers
-Wmissing-include-dirs -Wmissing-parameter-type -Wmissing-prototypes
-Wmultichar -Wnarrowing -Wnested-externs -Wnonnull -Wold-style-declaration
-Wold-style-definition -Woverflow -Woverride-init -Wpacked-bitfield-compat
-Wparentheses -Wpointer-arith -Wpointer-sign -Wpointer-to-int-cast
-Wpragmas -Wreturn-local-addr -Wreturn-type -Wsequence-point -Wshadow
-Wsizeof-pointer-memaccess -Wstrict-aliasing -Wstrict-prototypes
-Wsuggest-attribute=const -Wsuggest-attribute=format
-Wsuggest-attribute=noreturn -Wsuggest-attribute=pure -Wswitch -Wsync-nand
-Wtrampolines -Wtrigraphs -Wtype-limits -Wuninitialized -Wunknown-pragmas
-Wunused -Wunused-but-set-parameter -Wunused-but-set-variable
-Wunused-function -Wunused-label -Wunused-local-typedefs -Wunused-parameter
-Wunused-result -Wunused-value -Wunused-variable -Wvarargs
-Wvariadic-macros -Wvector-operation-performance -Wvolatile-register-var
-Wwrite-strings -Wnormalized=nfc -Wno-sign-compare -Wjump-misses-init
-Wno-format-nonliteral -Wframe-larger-than=4096 -fexceptions
-fasynchronous-unwind-tables -fipa-pure-const -Wno-suggest-attribute=pure
-Wno-suggest-attribute=const -fstack-protector-all -I/usr/include/dbus-1.0
-I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -I./conf -g -O2 -MT
util/libvirt_util_la-viralloc.lo -MD -MP -MF
util/.deps/libvirt_util_la-viralloc.Tpo -c util/viralloc.c -fPIC -DPIC -o
util/.libs/libvirt_util_la-viralloc.o
What compile flag differences would explain my failure?
Regarding libvirt build failure:
* I successfully installed dependencies with "apt-get build-dep libvirt"
* ./configure passed
* I ran plain 'make' but there was too little verbosity in the output to
see the gcc flags. I let make run to completion though. I did notice
these logs, but it did not cause make to fail:
make[3]: Entering directory `/root/libvirt-1.2.12/docs'
GEN html/index.html
missing XHTML1 DTD
* I ran a make clean, followed by "make V=1" to get more verbosity (see
above log). However, now the "missing XHTML1 DTD" messages causes build
failure:
make[3]: Entering directory `/root/libvirt-1.2.12/docs'
missing XHTML1 DTD
cat: 404.html.tmp: No such file or directory
make[3]: *** [404.html] Error 1
make[3]: Leaving directory `/root/libvirt-1.2.12/docs'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/libvirt-1.2.12/docs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/libvirt-1.2.12'
make: *** [all] Error 2
I did a little research. based on
https://bugzilla.redhat.com/show_bug.cgi?format=multiple&id=1135685 and
similar threads, I installed this:
apt-get install w3c-dtd-xhtml
Plain 'make' now errors this way:
make[3]: Entering directory `/root/libvirt-1.2.12/docs'
Validating 404.html
warning: failed to load external entity "404.html.tmp"
make[3]: *** [404.html] Error 1
make[3]: Leaving directory `/root/libvirt-1.2.12/docs'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/root/libvirt-1.2.12/docs'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/root/libvirt-1.2.12'
make: *** [all] Error 2
Based on some other threads I also tried these things:
* apt-get install libcurl4-gnutls-dev
* edited /etc/xml/catalog and added these lines to the bottom inside
<catalog>:
<rewriteSystem
systemIdStartString="http://www.w3.org/TR/xhtml1/DTD/"
rewritePrefix="file:///usr/share/xml/xhtml/schema/dtd/1.0/"/>
<rewriteURI
uriStartString="http://www.w3.org/TR/xhtml1/DTD/"
rewritePrefix="file:///usr/share/xml/xhtml/schema/dtd/1.0/"/>
build still fails.
On Wed, Mar 4, 2015 at 10:27 AM, Wayne Mills <wmills.on.gm(a)gmail.com> wrote:
I'm have a lot of difficulty implementing the actions suggested
so far by
those who've chimed in about this issue. I've resolved now to do the
following:
* make clean and make world on xen source, and capture build logs
* look up libxl build logs and see what compiler flags were used
* repeat above for libvirt source and virt-manager source
* report back on the compiler flag differences I'm seeing, if any.
I think that's probably the best I can hope to accomplish without getting
further lost in the weeds. If I can do this then maybe it will inform
further steps.
Wayne
On Wed, Mar 4, 2015 at 7:17 AM, Wayne Mills <wmills.on.gm(a)gmail.com>
wrote:
> Thanks Guido, unfortunately no luck:
>
> root@<server>:~/debian# grep DEB_CONFIGURE_EXTRA_ARGS *
> grep: apparmor: Is a directory
> grep: patches: Is a directory
> grep: source: Is a directory
> root@<server>:~/debian#
> root@<server>:~/debian#
> root@<server>:~/debian#
> root@<server>:~/debian# grep DEB_CONFIGURE_EXTRA_ARGS */*
> root@<server>:~/debian#
> root@<server>:~/debian#
> root@<server>:~/debian# grep DEB_CONFIGURE_EXTRA_ARGS */*/*
> grep: */*/*: No such file or directory
> root@<server>:~/debian#
>
>
> On Wed, Mar 4, 2015 at 3:01 AM, Guido Günther <agx(a)sigxcpu.org> wrote:
>
>> On Tue, Mar 03, 2015 at 02:31:27PM -0500, Wayne Mills wrote:
>> > I downloaded and untarred the deb package and grepped for
'configure',
>> but
>> > none of the hits were configure commands. Is there a better way to
>> find it?
>>
>> Assuming this is still based on the Debian package look for
>> DEB_CONFIGURE_EXTRA_ARGS in debian/rules.
>>
>> Cheers,
>> -- Guido
>>
>
>