[libvirt] Build failed in Jenkins: libvirt-build #472

2013-01-02 Thread Jenkins CI
See http://honk.sigxcpu.org:8001/job/libvirt-build/472/changes

Changes:

[eblake] maint: update to latest gnulib

--
[...truncated 5806 lines...]
  GENwchar.h
  GENwctype.h
make  all-am
make[3]: Entering directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/gnulib/lib'
  CC allocator.lo
  CC areadlink.lo
  CC base64.lo
  CC binary-io.lo
  CC bitrotate.lo
  CC c-ctype.lo
  CC c-strcasecmp.lo
  CC c-strncasecmp.lo
  CC c-strcasestr.lo
  CC careadlinkat.lo
  CC cloexec.lo
  CC count-one-bits.lo
  CC md5.lo
  CC sha256.lo
  CC dirname-lgpl.lo
  CC basename-lgpl.lo
  CC stripslash.lo
  CC fd-hook.lo
  CC freading.lo
  CC localcharset.lo
  CC lock.lo
  CC malloca.lo
  CC nonblocking.lo
  CC passfd.lo
  CC physmem.lo
  CC pipe2.lo
  CC sig-handler.lo
  CC sockets.lo
  CC stat-time.lo
  CC stdio.lo
  CC strnlen1.lo
  CC sys_socket.lo
  CC tempname.lo
  CC threadlib.lo
  CC unistd.lo
  CC wctype-h.lo
  CC xsize.lo
  CC asnprintf.lo
  CC fclose.lo
  CC fcntl.lo
  CC fflush.lo
  CC fpurge.lo
  CC fseek.lo
  CC fseeko.lo
  CC ioctl.lo
  CC mktime.lo
  CC perror.lo
  CC printf-args.lo
  CC printf-parse.lo
  CC strerror.lo
  CC strerror_r.lo
  CC vasnprintf.lo
  CCLD   libgnu.la
  GENcharset.alias
  GENref-add.sed
  GENref-del.sed
make[3]: Leaving directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/gnulib/lib'
make[2]: Leaving directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/gnulib/lib'
Making all in include
make[2]: Entering directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/include'
Making all in libvirt
make[3]: Entering directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/include/libvirt'
make[3]: Nothing to be done for `all'.
make[3]: Leaving directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/include/libvirt'
make[3]: Entering directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/include'
make[3]: Nothing to be done for `all-am'.
make[3]: Leaving directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/include'
make[2]: Leaving directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/include'
Making all in src
make[2]: Entering directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/src'
  GENlibvirt.syms
  GENlibvirt.def
make  all-am
make[3]: Entering directory 
`http://honk.sigxcpu.org:8001/job/libvirt-build/ws/src'
  CC libvirt_util_la-viralloc.lo
  CC libvirt_util_la-virarch.lo
  CC libvirt_util_la-viratomic.lo
  CC libvirt_util_la-viraudit.lo
  CC libvirt_util_la-virauth.lo
  CC libvirt_util_la-virauthconfig.lo
  CC libvirt_util_la-virbitmap.lo
  CC libvirt_util_la-virbuffer.lo
  CC libvirt_util_la-vircgroup.lo
  CC libvirt_util_la-vircommand.lo
  CC libvirt_util_la-virconf.lo
  CC libvirt_util_la-virdbus.lo
  CC libvirt_util_la-virdnsmasq.lo
  CC libvirt_util_la-virebtables.lo
  CC libvirt_util_la-virerror.lo
  CC libvirt_util_la-virevent.lo
  CC libvirt_util_la-vireventpoll.lo
  CC libvirt_util_la-virfile.lo
  CC libvirt_util_la-virhash.lo
  CC libvirt_util_la-virhashcode.lo
  CC libvirt_util_la-virhook.lo
  CC libvirt_util_la-virinitctl.lo
  CC libvirt_util_la-viriptables.lo
  CC libvirt_util_la-virjson.lo
  CC libvirt_util_la-virkeycode.lo
  CC libvirt_util_la-virkeyfile.lo
  CC libvirt_util_la-virlockspace.lo
  CC libvirt_util_la-virlog.lo
  CC libvirt_util_la-virmacaddr.lo
  CC libvirt_util_la-virnetdev.lo
  CC libvirt_util_la-virnetdevbandwidth.lo
  CC libvirt_util_la-virnetdevbridge.lo
  CC libvirt_util_la-virnetdevmacvlan.lo
  CC libvirt_util_la-virnetdevopenvswitch.lo
  CC libvirt_util_la-virnetdevtap.lo
  CC libvirt_util_la-virnetdevveth.lo
  CC libvirt_util_la-virnetdevvlan.lo
  CC libvirt_util_la-virnetdevvportprofile.lo
  CC libvirt_util_la-virnetlink.lo
  CC libvirt_util_la-virnodesuspend.lo
  CC libvirt_util_la-virobject.lo
  CC libvirt_util_la-virpci.lo
  CC libvirt_util_la-virpidfile.lo
  CC libvirt_util_la-virprocess.lo
  CC libvirt_util_la-virrandom.lo
  CC libvirt_util_la-virsexpr.lo
  CC libvirt_util_la-virsocketaddr.lo
  CC libvirt_util_la-virstatslinux.lo
  CC libvirt_util_la-virstoragefile.lo
  CC libvirt_util_la-virstring.lo
  CC libvirt_util_la-virsysinfo.lo
  CC libvirt_util_la-virthread.lo
  CC libvirt_util_la-virthreadpool.lo
  CC libvirt_util_la-virtime.lo
  CC libvirt_util_la-virtypedparam.lo
  CC libvirt_util_la-virusb.lo
  CC libvirt_util_la-viruri.lo
  CC libvirt_util_la-virutil.lo
  CC libvirt_util_la-viruuid.lo
  CC libvirt_util_la-virxml.lo
  CCLD   libvirt_util.la
  CC 

Re: [libvirt] Build failed in Jenkins: libvirt-build #472

2013-01-02 Thread Eric Blake
On 01/02/2013 10:29 AM, Jenkins CI wrote:
 See http://honk.sigxcpu.org:8001/job/libvirt-build/472/changes
 
 Changes:
 
 [eblake] maint: update to latest gnulib

   CCLD   libvirt_security_manager.la
   CCLD   libvirt.la
 ./.libs/libvirt_util.a(libvirt_util_la-virnetdevtap.o): In function 
 `rpl_fwrite':
 http://honk.sigxcpu.org:8001/job/libvirt-build/ws/src/../gnulib/lib/stdio.h:903:
  multiple definition of `rpl_fwrite'
 ./.libs/libvirt_util.a(libvirt_util_la-virnetdev.o):http://honk.sigxcpu.org:8001/job/libvirt-build/ws/src/../gnulib/lb/stdio.h:903:
  first defined here

Yuck.  This sounds like an issue in upstream gnulib inline handling.  I
see this from your logs:
checking build system type... i686-pc-linux-gnu
but that doesn't tell me what version of glibc and gcc you are using, in
case the problem is an interaction between those (as is, I recently
reported[1] a case where a mismatch of old glibc and new gcc causes
build failures, but that was on a modified RHEL 5 box, so probably
doesn't match your setup).
[1] https://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00176.html

I haven't been able to reproduce the failure locally on any of my Fedora
or RHEL boxes, using incremental builds; I am also in the middle of
trying a fresh clone build, to see if that is any different.

-- 
Eric Blake   eblake redhat com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] Build failed in Jenkins: libvirt-build #472

2013-01-02 Thread Guido Günther
Hi,
On Wed, Jan 02, 2013 at 11:20:08AM -0700, Eric Blake wrote:
 On 01/02/2013 10:29 AM, Jenkins CI wrote:
  See http://honk.sigxcpu.org:8001/job/libvirt-build/472/changes
  
  Changes:
  
  [eblake] maint: update to latest gnulib
 
CCLD   libvirt_security_manager.la
CCLD   libvirt.la
  ./.libs/libvirt_util.a(libvirt_util_la-virnetdevtap.o): In function 
  `rpl_fwrite':
  http://honk.sigxcpu.org:8001/job/libvirt-build/ws/src/../gnulib/lib/stdio.h:903:
   multiple definition of `rpl_fwrite'
  ./.libs/libvirt_util.a(libvirt_util_la-virnetdev.o):http://honk.sigxcpu.org:8001/job/libvirt-build/ws/src/../gnulib/lb/stdio.h:903:
   first defined here
 
 Yuck.  This sounds like an issue in upstream gnulib inline handling.  I
 see this from your logs:
 checking build system type... i686-pc-linux-gnu
 but that doesn't tell me what version of glibc and gcc you are using, in
 case the problem is an interaction between those (as is, I recently
 reported[1] a case where a mismatch of old glibc and new gcc causes
 build failures, but that was on a modified RHEL 5 box, so probably
 doesn't match your setup).
 [1] https://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00176.html

This is gcc 4.7.1 and eglibc 2.13. I upgraded to Debian Wheezy's current
gcc 4.7.2 without any changes. I'm not able to reproduce it locally on a
Debian sid system either. I also tried a clean bootstrap 

http://honk.sigxcpu.org:8001/job/libvirt-build/474/

but the problem persists:

$ nm src/.libs/libvirt_util.a | grep rpl_fwrite
0760 T rpl_fwrite
 T rpl_fwrite
0300 T rpl_fwrite

Any information I can provide to diagnose this further?
 -- Guido

P.S.: I've removed the mailing list from the build reports temporarily to
not spam the list with new build failures until this is fixed.

 
 I haven't been able to reproduce the failure locally on any of my Fedora
 or RHEL boxes, using incremental builds; I am also in the middle of
 trying a fresh clone build, to see if that is any different.
 
 -- 
 Eric Blake   eblake redhat com+1-919-301-3266
 Libvirt virtualization library http://libvirt.org
 


--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list


Re: [libvirt] Build failed in Jenkins: libvirt-build #472

2013-01-02 Thread Eric Blake
On 01/02/2013 01:14 PM, Guido Günther wrote:

 
 This is gcc 4.7.1 and eglibc 2.13. I upgraded to Debian Wheezy's current
 gcc 4.7.2 without any changes. I'm not able to reproduce it locally on a
 Debian sid system either. I also tried a clean bootstrap 
 
 http://honk.sigxcpu.org:8001/job/libvirt-build/474/
 
 but the problem persists:
 
 $ nm src/.libs/libvirt_util.a | grep rpl_fwrite
 0760 T rpl_fwrite
  T rpl_fwrite
 0300 T rpl_fwrite
 
 Any information I can provide to diagnose this further?

Sure - can you paste the portion of libvirt/gnulib/lib/stdio.h that
shows why rpl_fwrite was enabled in the first place?  The original
template file stdio.in.h looks like:

#if @GNULIB_FWRITE@
# if @REPLACE_STDIO_WRITE_FUNCS@  (@GNULIB_STDIO_H_NONBLOCKING@ ||
@GNULIB_STDIO_H_SIGPIPE@)
#  if !(defined __cplusplus  defined GNULIB_NAMESPACE)
#   undef fwrite
#   define fwrite rpl_fwrite
#  endif
_GL_FUNCDECL_RPL (fwrite, size_t,

On my F18 box, I see:

#if 1
# if 0  (1 || 1)
#  if !(defined __cplusplus  defined GNULIB_NAMESPACE)
#   undef fwrite
#   define fwrite rpl_fwrite
#  endif
_GL_FUNCDECL_RPL (fwrite, size_t,

which means that there is no replacement of stdio write functions on
glibc; reading the source code of .gnulib/m4/stdio_h.m4,
REPLACE_STDIO_WRITE_FUNCS is only set to 1 if gl_SIGNAL_SIGPIPE detects
an unusual situation.  So something in eglibc is tripping up
gl_SIGNAL_SIGPIPE; maybe finding that portion of config.log will help
understand root cause.

Then again, your configure output shows:
checking for SIGPIPE... yes

which says gl_SIGNAL_SIGPIPE didn't find anything unusual.

Oh, maybe the next culprit - I was compiling at -O0, which disables
fortification (since that only works at -O1 or higher); in the gnulib
stdio.h I see:

/* Work around glibc bug 11959
   http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959,
   which sometimes causes an unwanted diagnostic for fwrite calls.
   This affects only function declaration attributes, so it's not
   needed for C++.  */
#  if !defined __cplusplus  0  __USE_FORTIFY_LEVEL
_GL_STDIO_INLINE size_t _GL_ARG_NONNULL ((1, 4))
rpl_fwrite (const void *ptr, size_t s, size_t n, FILE *stream)
{
  size_t r = fwrite (ptr, s, n, stream);
  (void) r;
  return r;
}
#   undef fwrite
#   define fwrite rpl_fwrite
#  endif

It could be that while this works for glibc, it causes grief on eglibc,
especially depending on what _GL_STDIO_INLINE expands to at the time.

-- 
Eric Blake   eblake redhat com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list

Re: [libvirt] Build failed in Jenkins: libvirt-build #472

2013-01-02 Thread Eric Blake
[adding gnulib in cc]

On 01/02/2013 03:03 PM, Eric Blake wrote:
 On 01/02/2013 01:14 PM, Guido Günther wrote:
 

 This is gcc 4.7.1 and eglibc 2.13. I upgraded to Debian Wheezy's current
 gcc 4.7.2 without any changes. I'm not able to reproduce it locally on a
 Debian sid system either. I also tried a clean bootstrap 

 http://honk.sigxcpu.org:8001/job/libvirt-build/474/

 but the problem persists:

 $ nm src/.libs/libvirt_util.a | grep rpl_fwrite
 0760 T rpl_fwrite
  T rpl_fwrite
 0300 T rpl_fwrite

 Any information I can provide to diagnose this further?
 
 Sure - can you paste the portion of libvirt/gnulib/lib/stdio.h that
 shows why rpl_fwrite was enabled in the first place?  The original
 template file stdio.in.h looks like:
 
 #if @GNULIB_FWRITE@
 # if @REPLACE_STDIO_WRITE_FUNCS@  (@GNULIB_STDIO_H_NONBLOCKING@ ||
 @GNULIB_STDIO_H_SIGPIPE@)
 #  if !(defined __cplusplus  defined GNULIB_NAMESPACE)
 #   undef fwrite
 #   define fwrite rpl_fwrite
 #  endif
 _GL_FUNCDECL_RPL (fwrite, size_t,
 
 On my F18 box, I see:
 
 #if 1
 # if 0  (1 || 1)
 #  if !(defined __cplusplus  defined GNULIB_NAMESPACE)
 #   undef fwrite
 #   define fwrite rpl_fwrite
 #  endif
 _GL_FUNCDECL_RPL (fwrite, size_t,
 
 which means that there is no replacement of stdio write functions on
 glibc; reading the source code of .gnulib/m4/stdio_h.m4,
 REPLACE_STDIO_WRITE_FUNCS is only set to 1 if gl_SIGNAL_SIGPIPE detects
 an unusual situation.  So something in eglibc is tripping up
 gl_SIGNAL_SIGPIPE; maybe finding that portion of config.log will help
 understand root cause.
 
 Then again, your configure output shows:
 checking for SIGPIPE... yes
 
 which says gl_SIGNAL_SIGPIPE didn't find anything unusual.
 
 Oh, maybe the next culprit - I was compiling at -O0, which disables
 fortification (since that only works at -O1 or higher); in the gnulib
 stdio.h I see:
 
 /* Work around glibc bug 11959
http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959,
which sometimes causes an unwanted diagnostic for fwrite calls.
This affects only function declaration attributes, so it's not
needed for C++.  */
 #  if !defined __cplusplus  0  __USE_FORTIFY_LEVEL
 _GL_STDIO_INLINE size_t _GL_ARG_NONNULL ((1, 4))
 rpl_fwrite (const void *ptr, size_t s, size_t n, FILE *stream)
 {
   size_t r = fwrite (ptr, s, n, stream);
   (void) r;
   return r;
 }
 #   undef fwrite
 #   define fwrite rpl_fwrite
 #  endif
 
 It could be that while this works for glibc, it causes grief on eglibc,
 especially depending on what _GL_STDIO_INLINE expands to at the time.

Aha, I reproduced the problem on glibc while using RHEL 6.3 and default
CFLAGS (instead of my more typical CFLAGS=-g devel override).
Definitely a problem in Paul's recent work on inline magic, where
_GL_STDIO_INLINE is not doing the intended actions.  Paul, any thoughts
on what we need to do to fix this?  Also, since that glibc bug (of a
bogus __wur attribute on fwrite) has since been fixed, is the
unconditional override to rpl_fwrite something that is still useful to
keep around?

-- 
Eric Blake   eblake redhat com+1-919-301-3266
Libvirt virtualization library http://libvirt.org



signature.asc
Description: OpenPGP digital signature
--
libvir-list mailing list
libvir-list@redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list