[libvirt] struct random on FreeBSD [was: FreeBSD-8.3 build failure for amd64/i386, build archive included]

Jason Helfman jgh at FreeBSD.org
Mon Sep 30 19:27:15 UTC 2013


On Mon, Sep 30, 2013 at 11:50 AM, Eric Blake <eblake at redhat.com> wrote:

> On 09/30/2013 10:09 AM, Jason Helfman wrote:
>
> >> So, what has to be included prior to <stdlib.h> for the forward
> >> declaration of struct random_data in that header to no longer be an
> >> incomplete type?  Can you grep your system headers and find what all
> >> mentions struct random_data?
> >>
> >>
> > In looking through our 8.4 Branch, here are the results of digging the
> tree:
> >
> > crypto/openssh/pkcs11.h:                       unsigned char
> *random_data,
> > crypto/heimdal/lib/hx509/ref/pkcs11.h:                 unsigned char
> > *random_data,
> > crypto/heimdal/lib/hx509/hxtool.c:random_data(void *opt, int argc, char
> > **argv)
> > sys/netinet/sctp_output.c:
> > SCTP_READ_RANDOM(randp->random_data, random_len);
>
> Not relevant.
>
> > sys/netinet/sctp_header.h:      uint8_t random_data[];
>
> Maybe relevant.  Can this header be picked up by some include sequence
> of standard-only headers, such that using <stdlib.h> in isolation
> doesn't have a problem, but <stdlib.h> in combination with this header
> causes the problem?
>
> >
> > Per another developer at FreeBSD, it seems to be a bug in 8.x branch and
> > picking up something it shouldn't and was "fixed" by adding this to the
> > configure environment:
> > ac_cv_type_struct_random_data=""
>
> Generally, Autoconf wants you to use 'ac_cv_type_struct_random_data=no',
> not blank.  I don't know if using 'no' instead of a blank would resolve
> the compiler core dump you hit.  Is there a mail archive where you were
> discussing this with the FreeBSD developers?
>
> >
> > http://redports.org/~jgh/20130930154500-61365-148605/libvirt-1.1.2.log
>
> Also, this build was on FreeBSD 8.4, although you reported the problem
> against FreeBSD 8.3.  Let's get it resolved on one platform before
> bouncing around to another (at the moment, I only have a FreeBSD 8.2
> environment for my own testing, so I'm not much help at the moment).
>
> --
> Eric Blake   eblake redhat com    +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
>
>
It all uses the same branch of code, so it won't matter what version while
you are still in 8.x, unless you are running 8.x STABLE, and not a RELEASE
based branch.

In working with a fellow developer, this came down to gcc bugs that were
addressed in later versions
of FreeBSD, but was not merged from CURRENT branch to 8.x.

Here is a link to the fix that I will be committing at some point today.

http://people.freebsd.org/~jgh/files/libvirt-84fix.diff

Here are all the buildlogs, as well:
http://redports.org/buildarchive/20130930180500-15801/

-jgh

-- 
Jason Helfman          | FreeBSD Committer
jgh at FreeBSD.org     | http://people.freebsd.org/~jgh  | The Power to Serve
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20130930/369a522d/attachment-0001.htm>


More information about the libvir-list mailing list