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

Bug#833956: wine-development: FTBFS on hurd-i386 and kfreebsd-i386

Package: wine-development
Version: 1.9.15-1
Severity: normal
User: debian-bsd@lists.debian.org
Usertags: kfreebsd
User: debian-hurd@lists.debian.org
Usertags: hurd

[ I hope I got the CC and tags right, first time I look into a
  portability issue. ]


src:wine-development since 1.9.15-1 fails to build on hurd-i386
and kfreebsd-i386. It built successfully before.

The later uploaded src:wine 1.8.3-3 still builds successfully.

Build log for hurd-i386:

Build log kfreebsd-i386:
gcc -c -o virtual.o virtual.c -I. -I../../include -D__WINESRC__ -D_NTSYSTEM_ -D_REENTRANT -fPIC -Wall \
  -pipe -fno-strict-aliasing -Wdeclaration-after-statement -Wempty-body -Wignored-qualifiers \
  -Wstrict-prototypes -Wtype-limits -Wunused-but-set-parameter -Wvla -Wwrite-strings -Wpointer-arith \
  -Wlogical-op -gdwarf-2 -gstrict-dwarf -fno-omit-frame-pointer -Werror -Wdate-time -g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wno-error
virtual.c: In function 'virtual_get_system_info':
virtual.c:1363:20: error: storage size of 'sinfo' isn't known
     struct sysinfo sinfo;
virtual.c:1372:10: warning: implicit declaration of function 'sysinfo' [-Wimplicit-function-declaration]
     if (!sysinfo(&sinfo))
virtual.c:1363:20: warning: unused variable 'sinfo' [-Wunused-variable]
     struct sysinfo sinfo;
Makefile:711: recipe for target 'virtual.o' failed

I assume (not tested) this is because of:

commit d0832cdf428696e2c08b1aa27382baad4d1e376f
Author: Michael Müller <michael@fds-team.de>
Date:   Fri Jul 8 05:40:22 2016 +0200

    ntdll: Use sysinfo to report correct number of physical pages.

    Signed-off-by: Michael Müller <michael@fds-team.de>
    Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
    Signed-off-by: Alexandre Julliard <julliard@winehq.org>


The code is only called conditionally (ifdef HAVE_SYS_SYSINFO_H).

It has "include <sys/sysinfo.h>", which is provided in:
/usr/include/i386-gnu/sys/sysinfo.h           libc0.3-dev [hurd-i386] 
/usr/include/i386-kfreebsd-gnu/sys/sysinfo.h  libc0.1-dev [kfreebsd-i386] 

However "totalram" and "mem_unit" are only in:
/usr/include/linux/sysinfo.h                  linux-libc-dev

So sysinfo.h exists on hurd/kfreebsd, but doesn't provide everything
necessary!? Is there a fix for this, or should we disable this code
on hurd/kfreebsd explicitly? Or am I on a completely wrong track here?
Patches welcome, otherwise I'll ask upstream.

I found a similar (not identical) issue in busybox:


Reply to: