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

Jason Helfman jgh at FreeBSD.org
Tue Oct 1 07:00:41 UTC 2013


On Mon, Sep 30, 2013 at 7:04 PM, Doug Goldstein <cardoe at gentoo.org> wrote:

> On Mon, Sep 30, 2013 at 2:27 PM, Jason Helfman <jgh at freebsd.org> wrote:
> > 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
> >
>
> What's the error you're getting with -Wmissing-include-dirs? We should
> be testing to see if gcc supports that and not using it if its not
> supported. Additionally, what version of gcc are you using in 8.x? We
> can probably whip up a quick patch to resolve this.
>
>
These were bugs associated with the version of gcc in the 8.x branch, that
were supposedly fixed in later RELEASE versions (ie. 9.x, 10.x).
However, these fixes were not merged back into the 8.x branch, is my
understanding.

Here is a link to the log that has the error when using
missing-include-dirs:
https://redports.org/~jgh/20130930162300-20190-148614/libvirt-1.1.2.log

My understanding is that we've been ripping this out of a number of gnome
related ports due to the same failure. However,
a patched gcc has resolved this for the x-STABLE branches, other than 8 :)

In looking through our svn respository:
http://svnweb.freebsd.org/base/release/8.4.0/gnu/usr.bin/cc/cc/Makefile?view=log

Seems we are at version GCC 4.2 as r169718
http://svnweb.freebsd.org/base?view=revision&revision=169718


> As far as the struct random_data, I'll let Eric work on that since
> he's got a better understand and more context.


 Great, thanks!

-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/20131001/1f74c2aa/attachment-0001.htm>


More information about the libvir-list mailing list