TrungNguyen1909 / qemu-t8030

iPhone 11 emulated on QEMU
Other
1.97k stars 194 forks source link

ERROR: Dependency "appleframeworks" not found #23

Closed jacobcxdev closed 2 years ago

jacobcxdev commented 2 years ago

When running the below command as per the Wiki, I'm receiving the following error:

$ ../configure --target-list=aarch64-softmmu,x86_64-softmmu --disable-capstone --enable-lzfse --disable-werror
[…]
../meson.build:192:2: ERROR: Dependency "appleframeworks" not found, tried framework

My system is a 2021 16" MacBook Pro w/ M1 Max:

$ uname -a
Darwin Jacobs-MBP.lan 21.3.0 Darwin Kernel Version 21.3.0: Wed Jan  5 21:37:58 PST 2022; root:xnu-8019.80.24~20/RELEASE_ARM64_T6000 x86_64
TrungNguyen1909 commented 2 years ago

Hmmm, I'm not really sure about this. Do you have Xcode installed? If not, can you try installing command line tools?

xcode-select --install
jacobcxdev commented 2 years ago

Xcode is already installed, as indicated by the command output:

$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updates
TrungNguyen1909 commented 2 years ago

Hmm, can you post all of the log of configure?

jacobcxdev commented 2 years ago

Of course:

Build started at 2022-03-04T17:59:47.680599
Main binary: /opt/procursus/bin/python3
Build Options: -Ddocdir=/usr/local/share/doc -Dqemu_firmwarepath=/usr/local/share/qemu-firmware -Dqemu_suffix=qemu -Doptimization=2 -Ddebug=true -Dwerror=false -Dstrip=true -Db_pie=false -Db_coverage=false -Db_lto=false -Dcfi=false -Dcfi_debug=false -Dmalloc=system -Dmalloc_trim=auto -Dsparse=auto -Dkvm=auto -Dhax=auto -Dwhpx=auto -Dhvf=auto -Dnvmm=auto -Dxen=disabled -Dxen_pci_passthrough=auto -Dtcg=enabled -Dcocoa=auto -Dgtk=auto -Dmpath=auto -Dsdl=auto -Dsdl_image=auto -Dlibusb=auto -Dsmartcard=auto -Dusb_redir=auto -Dvte=auto -Dvnc=auto -Dvnc_sasl=auto -Dvnc_jpeg=auto -Dvnc_png=auto -Dgettext=auto -Dxkbcommon=auto -Du2f=auto -Dvirtiofsd=auto -Dcapstone=disabled -Dslirp=auto -Dfdt=auto -Dbrlapi=auto -Dcurl=auto -Dglusterfs=auto -Dbzip2=auto -Dlibiscsi=auto -Dlibnfs=auto -Diconv=auto -Dcurses=auto -Dlibudev=auto -Drbd=auto -Dlzo=auto -Dsnappy=auto -Dlzfse=enabled -Dlibxml2=auto -Dlibdaxctl=auto -Dlibpmem=auto -Dlinux_io_uring=auto -Dgnutls=auto -Dnettle=auto -Dgcrypt=auto -Dauth_pam=auto -Dzstd=auto -Dseccomp=auto -Dvirtfs=auto -Dcap_ng=auto -Dattr=auto -Ddefault_devices=true -Dvirglrenderer=auto -Ddocs=auto -Dsphinx_build= -Dinstall_blobs=true -Dvhost_user_blk_server=auto -Dmultiprocess=auto -Dfuse=auto -Dfuse_lseek=auto -Dguest_agent_msi=auto -Dbpf=auto -Dtcg_interpreter=false -Dprefix=/usr/local -Dbindir=/usr/local/bin -Ddatadir=/usr/local/share -Dincludedir=/usr/local/include -Dlibdir=/usr/local/lib -Dlibexecdir=/usr/local/libexec -Dlocaledir=/usr/local/share/locale -Dlocalstatedir=/usr/local/var -Dmandir=/usr/local/share/man -Dsysconfdir=/usr/local/etc '--native-file config-meson.cross'
Python system: Darwin
The Meson build system
Version: 0.61.2
Source dir: /Users/jacob/Developer/misc/qemu-t8030
Build dir: /Users/jacob/Developer/misc/qemu-t8030/build
Build type: native build
WARNING: You should add the boolean check kwarg to the run_command call.
         It currently defaults to false,
         but it will default to true in future releases of meson.
         See also: https://github.com/mesonbuild/meson/issues/9300
Running command: /usr/bin/head /Users/jacob/Developer/misc/qemu-t8030/VERSION.QEMU
--- stdout ---
6.1.0

--- stderr ---

Project name: qemu
Project version: 6.1.0
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc sanitycheckc.c -o sanitycheckc.exe
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/sanitycheckc.exe
C compiler for the host machine: cc (clang 11.1.0 "clang version 11.1.0 (https://github.com/ProcursusTeam/Procursus 095d0f90c56d8f275c7931cbb4b66b540492ea64)")
C linker for the host machine: cc ld64 609
Sanity testing C compiler: cc
Is cross compiler: False.
Sanity check compiler command line: cc sanitycheckc.c -o sanitycheckc.exe
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/sanitycheckc.exe
C compiler for the build machine: cc (clang 11.1.0 "clang version 11.1.0 (https://github.com/ProcursusTeam/Procursus 095d0f90c56d8f275c7931cbb4b66b540492ea64)")
C linker for the build machine: cc ld64 609
Build machine cpu family: x86_64
Build machine cpu: x86_64
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Program sh found: YES (/bin/sh)
Program python3 found: YES (/opt/procursus/bin/python3)
WARNING: Python files installed by Meson might not be found by python interpreter.
 This warning can be avoided by setting "python.platlibdir" option.
WARNING: Python files installed by Meson might not be found by python interpreter.
 This warning can be avoided by setting "python.purelibdir" option.
Program bzip2 found: YES (/usr/bin/bzip2)
Sanity testing C++ compiler: c++
Is cross compiler: False.
Sanity check compiler command line: c++ sanitycheckcpp.cc -o sanitycheckcpp.exe
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/sanitycheckcpp.exe
C++ compiler for the host machine: c++ (clang 11.1.0 "clang version 11.1.0 (https://github.com/ProcursusTeam/Procursus 095d0f90c56d8f275c7931cbb4b66b540492ea64)")
C++ linker for the host machine: c++ ld64 609
Sanity testing Objective-C compiler: clang
Is cross compiler: False.
Sanity check compiler command line: clang sanitycheckobjc.m -o sanitycheckobjc.exe
Sanity check compile stdout:

-----
Sanity check compile stderr:

-----
Running test binary command: /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/sanitycheckobjc.exe
Objective-C compiler for the host machine: clang (clang 11.1.0)
Objective-C linker for the host machine: clang ld64 609
Program cgcc found: NO
Running compile:
Working directory:  /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/tmpkm3sgjw0
Command line:  cc /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/tmpkm3sgjw0/testfile.c -o /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/tmpkm3sgjw0/output.exe -O0 -Werror=implicit-function-declaration -lm -Wl,-undefined,dynamic_lookup 

Code:
 int main(void) { return 0; }

Compiler stdout:

Compiler stderr:

Library m found: YES
Run-time dependency threads found: YES
Running compile:
Working directory:  /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/tmpwr_kzk15
Command line:  cc /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/tmpwr_kzk15/testfile.c -o /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/tmpwr_kzk15/output.exe -O0 -Werror=implicit-function-declaration -lutil -Wl,-undefined,dynamic_lookup 

Code:
 int main(void) { return 0; }

Compiler stdout:

Compiler stderr:

Library util found: YES
Running compile:
Working directory:  /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/tmpmsm3yepf
Command line:  c++ /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/tmpmsm3yepf/testfile.cpp -o /Users/jacob/Developer/misc/qemu-t8030/build/meson-private/tmpmsm3yepf/output.exe -O0 -fpermissive -Werror=implicit-function-declaration -framework CoreFoundation 

Code:
 int main(void) { return 0; }
Compiler stdout:

Compiler stderr:
 ld: framework not found CoreFoundation
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)

Run-time dependency appleframeworks found: NO (tried framework)

../meson.build:192:2: ERROR: Dependency "appleframeworks" not found, tried framework
TrungNguyen1909 commented 2 years ago

I felt like Procursus clang was the issue here.

jacobcxdev commented 2 years ago

Indeed it is. @Diatrus is this expected?

Diatrus commented 2 years ago

@jacobcxdev I haven't worked on Procursus in a while, but last I was involved, clang wasn't near production ready on macOS.