[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

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



On 09/27/2013 01:01 PM, Jason Helfman wrote:
> On Fri, Sep 27, 2013 at 4:57 AM, Eric Blake <eblake redhat com> wrote:
> 
>> On 09/27/2013 01:35 AM, Michal Privoznik wrote:
>>>
>>> make[3]: Entering directory
>>> `/home/zippy/work/tmp/a/libvirt-1.1.2/gnulib/lib'
>>>   CC       allocator.lo
>>> In file included from allocator.c:4:0:
>>> ./stdlib.h:76:8: error: redefinition of 'struct random_data'
>>>  struct random_data
>>>         ^
>>> In file included from ./stdlib.h:36:0,
>>>                  from allocator.c:4:
>>> /usr/include/stdlib.h:349:8: note: originally defined here
>>>  struct random_data
>>>         ^

>> Can
>> you show me the config.log output related to detecting whether 'struct
>> random_data' exists?  Is this a case of circular header inclusion on
>> FreeBSD (that is, does <sys/types.h> try to recursively include
>> <stdlib.h> to pick up the struct?)

> Should be available here:
> http://people.freebsd.org/~jgh/files/libvirt_83amd64.tar.xz

Thanks; looking through that, I see:

configure:31404: checking for struct random_data
configure:31404: cc -std=gnu99 -c -O2 -pipe -fno-strict-aliasing
-D_THREAD_SAFE -D_THREAD_SAFE conftest.c >&5
conftest.c: In function 'main':
conftest.c:346: error: invalid application of 'sizeof' to incomplete
type 'struct random_data'
...

| #include <stdlib.h>
|       #if HAVE_RANDOM_H
|       # include <random.h>
|       #endif
|
|
| int
| main ()
| {
| if (sizeof (struct random_data))

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?

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

Attachment: signature.asc
Description: OpenPGP digital signature


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]