On Mon, Jul 10, 2023 at 09:17:43PM +0200, Philippe Mathieu-Daudé wrote:
> On 10/7/23 20:11, Daniel P. Berrangé wrote:
> > On Mon, Jul 10, 2023 at 07:56:07PM +0200, Philippe Mathieu-Daudé wrote:
> > > Trying to build initrd-stress.img on Darwin we get:
> > > 
> > >    $ ninja tests/migration/initrd-stress.img
> > >    Compiling C object tests/migration/stress.p/stress.c.o
> > >    FAILED: tests/migration/stress.p/stress.c.o
> > >    ../tests/migration/stress.c:24:10: fatal error: 'linux/random.h' file 
> > > not found
> > >    #include <linux/random.h>
> > >             ^~~~~~~~~~~~~~~~
> > 
> > I think that's historical accident, as AFAICT, nothing in stress.c
> > needs that include to be present.
> 
> Removing I get:

True, the resulting file is still written to assume Linux userspace.

We can remove the linux/random.h header as it is redundant. Your
patch is still needed, just with a more general commit message
saying that many requird features are Linux only.

> 
> ../../tests/migration/stress.c:35:12: error: 'syscall' is deprecated: first
> deprecated in macOS 10.12 - syscall(2) is unsupported; please switch to a
> supported interface. For SYS_kdebug_trace use kdebug_signpost().
> [-Werror,-Wdeprecated-declarations]
>     return syscall(SYS_gettid);
>            ^
> /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/unistd.h:746:6:
> note: 'syscall' has been explicitly marked deprecated here
> int      syscall(int, ...);
>          ^
> ../../tests/migration/stress.c:43:16: error: use of undeclared identifier
> 'RB_POWER_OFF'
>         reboot(RB_POWER_OFF);
>                ^
> ../../tests/migration/stress.c:241:39: error: too many arguments to function
> call, expected 4, have 5
>     if (mount("none", dir, fstype, 0, NULL) < 0) {
>         ~~~~~                         ^~~~
> /Library/Developer/CommandLineTools/usr/lib/clang/14.0.3/include/stddef.h:89:16:
> note: expanded from macro 'NULL'
> #  define NULL ((void*)0)
>                ^~~~~~~~~~
> /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/mount.h:448:9:
> note: 'mount' declared here
> int     mount(const char *, const char *, int, void *);
>         ^
> 3 errors generated.
> 

With regards,
Daniel
-- 
|: https://berrange.com      -o-    https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org         -o-            https://fstop138.berrange.com :|
|: https://entangle-photo.org    -o-    https://www.instagram.com/dberrange :|


Reply via email to