Opened 2 months ago

Last modified 7 days ago

#70694 new defect

qemu @9.1.0: error: implicit declaration of function 'pthread_jit_write_protect_np' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

Reported by: tom-programming Owned by:
Priority: Normal Milestone:
Component: ports Version: 2.10.1
Keywords: legacy-os Cc: raimue (Rainer Müller), herbygillot (Herby Gillot), tom-programming, cooljeanius (Eric Gallager), hadrabap (Petr Hadraba), Randrianasulu (Andrew Randrianasulu)
Port: qemu

Description

qemu fails on compilation in macOS 10.15 (Catalina) with newest command line tools

error is:

:info:build In file included from qapi/qapi-visit-authz.c:13:
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_emulators_qemu/qemu/work/qemu-9.1.0/include/qemu/osdep.h:803:5: error: implicit declaration of function 'pthread_jit_write_protect_np' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
:info:build     pthread_jit_write_protect_np(true);
:info:build     ^
:info:build /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_emulators_qemu/qemu/work/qemu-9.1.0/include/qemu/osdep.h:808:5: error: implicit declaration of function 'pthread_jit_write_protect_np' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
:info:build     pthread_jit_write_protect_np(false);
:info:build     ^
:info:build 2 errors generated.

which suggest to me lack of an include pthreads.h directive

Attachments (1)

main.log (497.8 KB) - added by tom-programming 2 months ago.

Download all attachments as: .zip

Change History (6)

Changed 2 months ago by tom-programming

Attachment: main.log added

comment:1 Changed 2 months ago by tom-programming

Cc: tom-programming added

comment:2 Changed 6 weeks ago by cooljeanius (Eric Gallager)

Cc: cooljeanius added

comment:3 Changed 5 weeks ago by hadrabap (Petr Hadraba)

Cc: hadrabap added

comment:4 Changed 7 days ago by Randrianasulu (Andrew Randrianasulu)

Cc: Randrianasulu added

comment:5 Changed 7 days ago by ryandesign (Ryan Carsten Schmidt)

Keywords: legacy-os added
Summary: qemu @9.1.0 Error on compilation (pthread_jit_write_protect_np)qemu @9.1.0: error: implicit declaration of function 'pthread_jit_write_protect_np' is invalid in C99 [-Werror,-Wimplicit-function-declaration]

pthread_jit_write_protect_np is only available in macOS 11 and later. I could not find a web page stating that, but in the file /Library/Developer/CommandLineTools/SDKs/MacOSX12.1.sdk/usr/include/pthread/pthread.h on my system the function is declared as:

__API_AVAILABLE(macos(11.0))
__API_UNAVAILABLE(ios, tvos, watchos, driverkit)
void pthread_jit_write_protect_np(int enabled);

The qemu developers deliberately removed the compatibility code that used to allow it to compile on macOS 10.x:

https://gitlab.com/qemu-project/qemu/-/commit/7b60b971cc2f52ed2a69006a2ad709df2831cd67

The maintainer of the qemu port has previous expressed disinterest in supporting older versions of macOS than the developers of qemu do.

Last edited 7 days ago by ryandesign (Ryan Carsten Schmidt) (previous) (diff)
Note: See TracTickets for help on using tickets.