Opened 5 years ago

Closed 5 years ago

#58700 closed defect (fixed)

qemu @4.0.0: error: use of undeclared identifier 'O_CLOEXEC'

Reported by: kencu (Ken) Owned by: raimue (Rainer Müller)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc:
Port: qemu

Description

qemu needs PortGroup legacysupport 1.0 at least on some older systems, for

/opt/local/bin/clang-mp-5.0 -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-4.0.0/hw/usb -iquote hw/usb -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-4.0.0/tcg -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-4.0.0/tcg/i386 -iquote . -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-4.0.0 -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-4.0.0/accel/tcg -iquote /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-4.0.0/include -I/opt/local/include/pixman-1 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-4.0.0/dtc/libfdt -DHAS_LIBSSH2_SFTP_FSYNC  -D_REENTRANT -I/opt/local/include/glib-2.0 -I/opt/local/lib/glib-2.0/include -m64 -mcx16 -DOS_OBJECT_USE_OBJC=0 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -Wstrict-prototypes -Wredundant-decls -Wall -Wundef -Wwrite-strings -Wmissing-prototypes -fno-strict-aliasing -fno-common -fwrapv -std=gnu99  -Wno-string-plus-int -Wno-initializer-overrides -Wexpansion-to-defined -Wendif-labels -Wno-shift-negative-value -Wno-missing-include-dirs -Wempty-body -Wnested-externs -Wformat-security -Wformat-y2k -Winit-self -Wignored-qualifiers -Wold-style-definition -Wtype-limits -fstack-protector-strong -Wno-missing-braces -I/opt/local/include/p11-kit-1   -I/opt/local/include/libpng16 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_release_tarballs_ports_emulators_qemu/qemu/work/qemu-4.0.0/tests -MMD -MP -MT hw/usb/host-stub.o -MF hw/usb/host-stub.d -O2 -g -pipe -Os -femulated-tls -arch x86_64  -c -o hw/usb/host-stub.o hw/usb/host-stub.c
hw/usb/dev-mtp.c:617:38: error: use of undeclared identifier 'O_CLOEXEC'
    fd = open(o->path, O_DIRECTORY | O_CLOEXEC | O_NOFOLLOW);
                                     ^
hw/usb/dev-mtp.c:621:11: warning: implicit declaration of function 'fdopendir' is invalid in C99 [-Wimplicit-function-declaration]
    dir = fdopendir(fd);
          ^

and with that, it installs at least back to 10.6.8:

$ port -v installed qemu
The following ports are currently installed:
  qemu @4.0.0_0+cocoa+ssh+target_arm+target_i386+target_m68k+target_ppc+target_x86_64+usb+vnc (active) platform='darwin 10' archs='x86_64' date='2019-07-08T20:09:57-0700'

Change History (1)

comment:1 Changed 5 years ago by kencu (Ken)

Resolution: fixed
Status: assignedclosed

In 46507b63d8d2609d1ff6ba8bf77ff31a32f4a73c/macports-ports (master):

qemu: add PG legacysupport

for fdopendir and O_CLOEXEC
closes: #58700

Note: See TracTickets for help on using tickets.