Opened 4 months ago

Last modified 2 months ago

#70482 assigned defect

qemu @9.0.2: error: initializing 'NSEdgeInsets' (aka 'struct NSEdgeInsets') with an expression of incompatible type 'id'

Reported by: RobertPHeller (Robert Heller) Owned by: raimue (Rainer Müller)
Priority: Normal Milestone:
Component: ports Version:
Keywords: catalina legacy-os Cc: herbygillot (Herby Gillot), cooljeanius (Eric Gallager)
Port: qemu

Description (last modified by ryandesign (Ryan Carsten Schmidt))

I am trying to install qemu:

sudo port install qemu

and I am getting an error:

:info:build FAILED: libcommon.fa.p/ui_cocoa.m.o 
:info:build /usr/bin/clang -m64 -mcx16 -Ilibcommon.fa.p -Isubprojects/dtc/libfdt -I../qemu-9.0.2/subprojects/dtc/libfdt -I/opt/local/include/p11-kit-1 -I/opt/local/include/pixman-1 -I/opt/local/include/libpng16 -I/opt/local/include/spice-server -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -I/opt/local/libexec/openssl3/include -I/opt/local/include/spice-1 -I/opt/local/include/libusb-1.0 -I/opt/local/include/gio-unix-2.0 -I/opt/local/include/slirp -fdiagnostics-color=auto -Wall -Winvalid-pch -std=gnu11 -O2 -g -Wempty-body -Wendif-labels -Wexpansion-to-defined -Wformat-security -Wformat-y2k -Wignored-qualifiers -Winit-self -Wmissing-format-attribute -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wredundant-decls -Wstrict-prototypes -Wtype-limits -Wundef -Wvla -Wwrite-strings -Wno-gnu-variable-sized-type-not-at-end -Wno-initializer-overrides -Wno-missing-include-dirs -Wno-shift-negative-value -Wno-string-plus-int -Wno-tautological-type-limit-compare -Wno-typedef-redefinition -iquote . -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_emulators_qemu/qemu/work/qemu-9.0.2 -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_emulators_qemu/qemu/work/qemu-9.0.2/include -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_emulators_qemu/qemu/work/qemu-9.0.2/host/include/x86_64 -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_emulators_qemu/qemu/work/qemu-9.0.2/host/include/generic -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_emulators_qemu/qemu/work/qemu-9.0.2/tcg/i386 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fno-common -fwrapv -fno-pie -pipe -Os -isysroot/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk -arch x86_64 -D_DARWIN_C_SOURCE -DNCURSES_WIDECHAR -DNCURSES_WIDECHAR=1 -DSTRUCT_IOVEC_DEFINED -MD -MQ libcommon.fa.p/ui_cocoa.m.o -MF libcommon.fa.p/ui_cocoa.m.o.d -o libcommon.fa.p/ui_cocoa.m.o -c ../qemu-9.0.2/ui/cocoa.m
:info:build ../qemu-9.0.2/ui/cocoa.m:542:51: warning: instance method '-safeAreaInsets' not found (return type defaults to 'id') [-Wobjc-method-access]
:info:build     NSEdgeInsets insets = [[[self window] screen] safeAreaInsets];
:info:build                                                   ^~~~~~~~~~~~~~
:info:build /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScreen.h:20:12: note: receiver is instance of class declared here
:info:build @interface NSScreen : NSObject
:info:build            ^
:info:build ../qemu-9.0.2/ui/cocoa.m:542:18: error: initializing 'NSEdgeInsets' (aka 'struct NSEdgeInsets') with an expression of incompatible type 'id'
:info:build     NSEdgeInsets insets = [[[self window] screen] safeAreaInsets];
:info:build                  ^        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:info:build 1 warning and 1 error generated.
:info:build [1076/3645] /usr/bin/clang -m64 -mcx16 -Ilibcommon.fa.p -Isubproject

Change History (2)

comment:1 Changed 4 months ago by ryandesign (Ryan Carsten Schmidt)

Cc: herbygillot added
Description: modified (diff)
Keywords: catalina legacy-os added
Owner: set to raimue
Port: qemu added
Status: newassigned
Summary: Error while installing qemu on Catalina (10.15.7)qemu @9.0.2: error: initializing 'NSEdgeInsets' (aka 'struct NSEdgeInsets') with an expression of incompatible type 'id'

The qemu port enables the cocoa variant by default on macOS 10.14 and older. It may be the case that due to changes in the qemu code this variant can no longer build on 10.15. Try building without the cocoa variant:

sudo port clean qemu
sudo port install qemu -cocoa
Last edited 4 months ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)

comment:2 Changed 2 months ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added
Note: See TracTickets for help on using tickets.