libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
9.8k stars 1.78k forks source link

Build fails with "Undefined symbols for architecture arm64" for mbedtls on M1/M2 MacBook #15764

Closed Aeonitis closed 9 months ago

Aeonitis commented 9 months ago

I am trying to build RetroArch on an M1/M2 MacBook but am encountering an issue related to mbedtls. Specifically, after I have passed ./configure successfully, the build fails with an error when I make:

Undefined symbols for architecture arm64:
  "_mbedtls_debug_set_threshold", referenced from:
      _ssl_socket_init in net_socket_ssl_mbed.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [retroarch] Error 1

Environment:

Steps to Reproduce:

  1. Install mbedtls via Homebrew (brew install mbedtls)
  2. Clone the RetroArch repository and navigate to its directory
  3. Configure environment variables:
    export CFLAGS="-I/opt/homebrew/Cellar/mbedtls/3.4.1/include"
    export LDFLAGS="-L/opt/homebrew/Cellar/mbedtls/3.4.1/lib -lmbedtls"
  4. Run make

Expected Behavior: The build should complete successfully.

Actual Behavior: The build fails with the error.

Additional Information:

Partial terminal logs:

(base) aeonitis@Q RetroArch % CFLAGS="-I/opt/homebrew/Cellar/mbedtls/3.4.1/include"
(base) aeonitis@Q RetroArch % LDFLAGS="-L/opt/homebrew/Cellar/mbedtls/3.4.1/lib -lmbedtls"
(base) aeonitis@Q RetroArch % nm /opt/homebrew/Cellar/mbedtls/3.4.1/lib/libmbedtls.a | grep mbedtls_debug_set_threshold
0000000000000000 T _mbedtls_debug_set_threshold
(base) aeonitis@Q RetroArch % make
LD retroarch
ld: warning: dylib (/opt/homebrew/Cellar/openssl@3/3.1.2/lib/libcrypto.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/Cellar/openssl@3/3.1.2/lib/libssl.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/opt/freetype/lib/libfreetype.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/Cellar/fontconfig/2.14.2/lib/libfontconfig.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libSDL2.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libavcodec.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libavformat.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libavutil.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libswscale.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libswresample.dylib) was built for newer macOS version (13.0) than being linked (11.0)
Undefined symbols for architecture arm64:
  "_mbedtls_debug_set_threshold", referenced from:
      _ssl_socket_init in net_socket_ssl_mbed.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [retroarch] Error 1
(base) aeonitis@Q RetroArch % echo $CFLAGS
-I/opt/homebrew/Cellar/mbedtls/3.4.1/include
(base) aeonitis@Q RetroArch % echo $LDFLAGS
-L/opt/homebrew/Cellar/mbedtls/3.4.1/lib -lmbedtls
(base) aeonitis@Q RetroArch % CFLAGS="-I/opt/homebrew/Cellar/mbedtls/3.4.1/include" LDFLAGS="-L/opt/homebrew/Cellar/mbedtls/3.4.1/lib -lmbedtls" make
LD retroarch
ld: warning: dylib (/opt/homebrew/Cellar/openssl@3/3.1.2/lib/libssl.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/Cellar/openssl@3/3.1.2/lib/libcrypto.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/opt/freetype/lib/libfreetype.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/Cellar/fontconfig/2.14.2/lib/libfontconfig.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libSDL2.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libavcodec.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libavformat.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libavutil.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libswscale.dylib) was built for newer macOS version (13.0) than being linked (11.0)
ld: warning: dylib (/opt/homebrew/lib/libswresample.dylib) was built for newer macOS version (13.0) than being linked (11.0)
Undefined symbols for architecture arm64:
  "_mbedtls_debug_set_threshold", referenced from:
      _ssl_socket_init in net_socket_ssl_mbed.o
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [retroarch] Error 1

I suppose this is the most important part to see what's still missing... (base) aeonitis@Q RetroArch % make V=1 /usr/bin/g++ -o retroarch obj-unix/release/version_git.o obj-unix/release/frontend/frontend_driver.o obj-unix/release/retroarch.o obj-unix/release/runloop.o obj-unix/release/ui/ui_companion_driver.o obj-unix/release/camera/camera_driver.o obj-unix/release/record/record_driver.o obj-unix/release/command.o obj-unix/release/msg_hash.o obj-unix/release/midi_driver.o obj-unix/release/location_driver.o obj-unix/release/intl/msg_hash_us.o obj-unix/release/./libretro-common/queues/task_queue.o obj-unix/release/tasks/task_content.o obj-unix/release/tasks/task_patch.o obj-unix/release/tasks/task_save.o obj-unix/release/tasks/task_movie.o obj-unix/release/tasks/task_file_transfer.o obj-unix/release/tasks/task_image.o obj-unix/release/tasks/task_playlist_manager.o obj-unix/release/tasks/task_manual_content_scan.o obj-unix/release/tasks/task_core_backup.o obj-unix/release/./libretro-common/encodings/encoding_utf.o obj-unix/release/./libretro-common/encodings/encoding_crc32.o obj-unix/release/./libretro-common/encodings/encoding_base64.o obj-unix/release/tasks/task_translation.o obj-unix/release/./libretro-common/compat/fopen_utf8.o obj-unix/release/./libretro-common/compat/compat_strldup.o obj-unix/release/./libretro-common/lists/file_list.o obj-unix/release/./libretro-common/lists/dir_list.o obj-unix/release/./libretro-common/file/retro_dirent.o obj-unix/release/./libretro-common/streams/stdin_stream.o obj-unix/release/./libretro-common/streams/file_stream.o obj-unix/release/./libretro-common/streams/file_stream_transforms.o obj-unix/release/./libretro-common/streams/interface_stream.o obj-unix/release/./libretro-common/streams/memory_stream.o obj-unix/release/./libretro-common/streams/network_stream.o obj-unix/release/./libretro-common/vfs/vfs_implementation.o obj-unix/release/./libretro-common/lists/string_list.o obj-unix/release/./libretro-common/string/stdstring.o obj-unix/release/./libretro-common/memmap/memalign.o obj-unix/release/./libretro-common/file/nbio/nbio_stdio.o obj-unix/release/./libretro-common/lists/linked_list.o obj-unix/release/./libretro-common/lists/nested_list.o obj-unix/release/./libretro-common/queues/generic_queue.o obj-unix/release/./libretro-common/file/nbio/nbio_unixmmap.o obj-unix/release/./libretro-common/file/nbio/nbio_intf.o obj-unix/release/./libretro-common/file/file_path.o obj-unix/release/./libretro-common/file/file_path_io.o obj-unix/release/file_path_special.o obj-unix/release/./libretro-common/hash/lrc_hash.o obj-unix/release/audio/audio_driver.o obj-unix/release/input/input_driver.o obj-unix/release/input/common/input_hid_common.o obj-unix/release/led/led_driver.o obj-unix/release/gfx/video_driver.o obj-unix/release/gfx/gfx_display.o obj-unix/release/gfx/gfx_animation.o obj-unix/release/gfx/gfx_thumbnail_path.o obj-unix/release/gfx/gfx_thumbnail.o obj-unix/release/configuration.o obj-unix/release/./libretro-common/dynamic/dylib.o obj-unix/release/cores/dynamic_dummy.o obj-unix/release/./libretro-common/queues/message_queue.o obj-unix/release/audio/microphone_driver.o obj-unix/release/state_manager.o obj-unix/release/gfx/drivers_font_renderer/bitmapfont.o obj-unix/release/gfx/drivers_font_renderer/bitmapfont_10x10.o obj-unix/release/gfx/drivers_font_renderer/bitmapfont_6x10.o obj-unix/release/tasks/task_autodetect.o obj-unix/release/input/input_autodetect_builtin.o obj-unix/release/input/input_keymaps.o obj-unix/release/./libretro-common/queues/fifo_queue.o obj-unix/release/./libretro-common/compat/compat_fnmatch.o obj-unix/release/./libretro-common/compat/compat_posix_string.o obj-unix/release/cheat_manager.o obj-unix/release/core_info.o obj-unix/release/core_backup.o obj-unix/release/core_option_manager.o obj-unix/release/./libretro-common/file/config_file.o obj-unix/release/./libretro-common/file/config_file_userdata.o obj-unix/release/runtime_file.o obj-unix/release/disk_index_file.o obj-unix/release/tasks/task_screenshot.o obj-unix/release/tasks/task_powerstate.o obj-unix/release/./libretro-common/gfx/scaler/scaler.o obj-unix/release/./libretro-common/gfx/scaler/pixconv.o obj-unix/release/./libretro-common/gfx/scaler/scaler_int.o obj-unix/release/./libretro-common/gfx/scaler/scaler_filter.o obj-unix/release/gfx/font_driver.o obj-unix/release/gfx/video_filter.o obj-unix/release/./libretro-common/audio/resampler/audio_resampler.o obj-unix/release/./libretro-common/audio/dsp_filter.o obj-unix/release/./libretro-common/audio/resampler/drivers/sinc_resampler.o obj-unix/release/./libretro-common/audio/resampler/drivers/nearest_resampler.o obj-unix/release/./libretro-common/utils/md5.o obj-unix/release/playlist.o obj-unix/release/./libretro-common/features/features_cpu.o obj-unix/release/verbosity.o obj-unix/release/./libretro-common/playlists/label_sanitization.o obj-unix/release/./libretro-common/time/rtime.o obj-unix/release/manual_content_scan.o obj-unix/release/disk_control_interface.o obj-unix/release/tasks/task_audio_mixer.o obj-unix/release/./libretro-common/audio/audio_mix.o obj-unix/release/./libretro-common/audio/audio_mixer.o obj-unix/release/runahead.o obj-unix/release/audio/drivers_resampler/cc_resampler.o obj-unix/release/./libretro-common/formats/image_texture.o obj-unix/release/cores/libretro-imageviewer/image_core.o obj-unix/release/libretro-db/bintree.o obj-unix/release/libretro-db/libretrodb.o obj-unix/release/libretro-db/query.o obj-unix/release/libretro-db/rmsgpack.o obj-unix/release/libretro-db/rmsgpack_dom.o obj-unix/release/database_info.o obj-unix/release/tasks/task_database.o obj-unix/release/tasks/task_database_cue.o obj-unix/release/menu/menu_explore.o obj-unix/release/tasks/task_menu_explore.o obj-unix/release/deps/mbedtls/aes.o obj-unix/release/deps/mbedtls/aesni.o obj-unix/release/deps/mbedtls/arc4.o obj-unix/release/deps/mbedtls/asn1parse.o obj-unix/release/deps/mbedtls/asn1write.o obj-unix/release/deps/mbedtls/base64.o obj-unix/release/deps/mbedtls/bignum.o obj-unix/release/deps/mbedtls/blowfish.o obj-unix/release/deps/mbedtls/camellia.o obj-unix/release/deps/mbedtls/ccm.o obj-unix/release/deps/mbedtls/cipher.o obj-unix/release/deps/mbedtls/cipher_wrap.o obj-unix/release/deps/mbedtls/ctr_drbg.o obj-unix/release/deps/mbedtls/des.o obj-unix/release/deps/mbedtls/dhm.o obj-unix/release/deps/mbedtls/ecdh.o obj-unix/release/deps/mbedtls/ecdsa.o obj-unix/release/deps/mbedtls/ecp.o obj-unix/release/deps/mbedtls/ecp_curves.o obj-unix/release/deps/mbedtls/entropy.o obj-unix/release/deps/mbedtls/entropy_poll.o obj-unix/release/deps/mbedtls/gcm.o obj-unix/release/deps/mbedtls/hmac_drbg.o obj-unix/release/deps/mbedtls/md.o obj-unix/release/deps/mbedtls/md5.o obj-unix/release/deps/mbedtls/md_wrap.o obj-unix/release/deps/mbedtls/oid.o obj-unix/release/deps/mbedtls/padlock.o obj-unix/release/deps/mbedtls/pem.o obj-unix/release/deps/mbedtls/pk.o obj-unix/release/deps/mbedtls/pk_wrap.o obj-unix/release/deps/mbedtls/pkcs12.o obj-unix/release/deps/mbedtls/pkcs5.o obj-unix/release/deps/mbedtls/pkparse.o obj-unix/release/deps/mbedtls/pkwrite.o obj-unix/release/deps/mbedtls/ripemd160.o obj-unix/release/deps/mbedtls/rsa.o obj-unix/release/deps/mbedtls/sha1.o obj-unix/release/deps/mbedtls/sha256.o obj-unix/release/deps/mbedtls/sha512.o obj-unix/release/deps/mbedtls/threading.o obj-unix/release/deps/mbedtls/timing.o obj-unix/release/deps/mbedtls/xtea.o obj-unix/release/deps/mbedtls/certs.o obj-unix/release/deps/mbedtls/x509.o obj-unix/release/deps/mbedtls/x509_create.o obj-unix/release/deps/mbedtls/x509_crl.o obj-unix/release/deps/mbedtls/x509_crt.o obj-unix/release/deps/mbedtls/x509_csr.o obj-unix/release/deps/mbedtls/x509write_crt.o obj-unix/release/deps/mbedtls/x509write_csr.o obj-unix/release/deps/mbedtls/debug.o obj-unix/release/deps/mbedtls/net_sockets.o obj-unix/release/deps/mbedtls/ssl_cache.o obj-unix/release/deps/mbedtls/ssl_ciphersuites.o obj-unix/release/deps/mbedtls/ssl_cli.o obj-unix/release/deps/mbedtls/ssl_cookie.o obj-unix/release/deps/mbedtls/ssl_srv.o obj-unix/release/deps/mbedtls/ssl_ticket.o obj-unix/release/deps/mbedtls/ssl_tls.o obj-unix/release/audio/drivers/coreaudio.o obj-unix/release/gfx/drivers_font_renderer/coretext.o obj-unix/release/frontend/drivers/platform_darwin.o obj-unix/release/./libretro-common/audio/conversion/s16_to_float.o obj-unix/release/./libretro-common/audio/conversion/float_to_s16.o obj-unix/release/./libretro-common/audio/conversion/mono_to_stereo_float.o obj-unix/release/./libretro-common/audio/conversion/stereo_to_mono_float.o obj-unix/release/./libretro-common/formats/wav/rwav.o obj-unix/release/menu/drivers/rgui.o obj-unix/release/menu/drivers/materialui.o obj-unix/release/menu/drivers/xmb.o obj-unix/release/menu/drivers/ozone.o obj-unix/release/menu/menu_screensaver.o obj-unix/release/menu/menu_setting.o obj-unix/release/menu/menu_driver.o obj-unix/release/menu/cbs/menu_cbs_ok.o obj-unix/release/menu/cbs/menu_cbs_cancel.o obj-unix/release/menu/cbs/menu_cbs_select.o obj-unix/release/menu/cbs/menu_cbs_start.o obj-unix/release/menu/cbs/menu_cbs_info.o obj-unix/release/menu/cbs/menu_cbs_left.o obj-unix/release/menu/cbs/menu_cbs_right.o obj-unix/release/menu/cbs/menu_cbs_deferred_push.o obj-unix/release/menu/cbs/menu_cbs_scan.o obj-unix/release/menu/cbs/menu_cbs_get_value.o obj-unix/release/menu/cbs/menu_cbs_label.o obj-unix/release/menu/cbs/menu_cbs_sublabel.o obj-unix/release/menu/cbs/menu_cbs_title.o obj-unix/release/menu/menu_displaylist.o obj-unix/release/menu/menu_contentless_cores.o obj-unix/release/gfx/gfx_widgets.o obj-unix/release/gfx/widgets/gfx_widget_screenshot.o obj-unix/release/gfx/widgets/gfx_widget_volume.o obj-unix/release/gfx/widgets/gfx_widget_generic_message.o obj-unix/release/gfx/widgets/gfx_widget_libretro_message.o obj-unix/release/gfx/widgets/gfx_widget_progress_message.o obj-unix/release/gfx/widgets/gfx_widget_load_content_animation.o obj-unix/release/gfx/widgets/gfx_widget_achievement_popup.o obj-unix/release/gfx/widgets/gfx_widget_leaderboard_display.o obj-unix/release/tasks/task_overlay.o obj-unix/release/led/drivers/led_overlay.o obj-unix/release/gfx/drivers_font_renderer/stb.o obj-unix/release/gfx/drivers_font_renderer/stb_unicode.o obj-unix/release/gfx/drivers_font_renderer/freetype.o obj-unix/release/./libretro-common/rthreads/rthreads.o obj-unix/release/gfx/video_thread_wrapper.o obj-unix/release/audio/audio_thread_wrapper.o obj-unix/release/./libretro-common/formats/xml/rxml.o obj-unix/release/./libretro-common/formats/logiqx_dat/logiqx_dat.o obj-unix/release/deps/yxml/yxml.o obj-unix/release/input/drivers_hid/iohidmanager_hid.o obj-unix/release/input/drivers_joypad/hid_joypad.o obj-unix/release/input/connect/joypad_connection.o obj-unix/release/input/connect/connect_ps2adapter.o obj-unix/release/input/connect/connect_psxadapter.o obj-unix/release/input/connect/connect_ps3.o obj-unix/release/input/connect/connect_ps4.o obj-unix/release/input/connect/connect_ps4_hori_mini.o obj-unix/release/input/connect/connect_wii.o obj-unix/release/input/connect/connect_retrode.o obj-unix/release/input/connect/connect_nesusb.o obj-unix/release/input/connect/connect_snesusb.o obj-unix/release/input/connect/connect_wiiupro.o obj-unix/release/input/connect/connect_kade.o obj-unix/release/input/connect/connect_zerodelay_dragonrise.o obj-unix/release/input/connect/connect_wiiugca.o obj-unix/release/gfx/drivers_context/gfx_null_ctx.o obj-unix/release/gfx/common/gl_common.o obj-unix/release/gfx/drivers/gl2.o obj-unix/release/./libretro-common/gfx/gl_capabilities.o obj-unix/release/./libretro-common/glsym/rglgen.o obj-unix/release/gfx/drivers/gl1.o obj-unix/release/cores/libretro-ffmpeg/ffmpeg_fft.o obj-unix/release/./libretro-common/glsym/glsym_gl.o obj-unix/release/gfx/drivers/sdl2_gfx.o obj-unix/release/gfx/common/sdl2_common.o obj-unix/release/audio/drivers_microphone/sdl_microphone.o obj-unix/release/input/drivers/sdl_input.o obj-unix/release/input/drivers_joypad/sdl_joypad.o obj-unix/release/audio/drivers/sdl_audio.o obj-unix/release/gfx/drivers_context/sdl_gl_ctx.o obj-unix/release/gfx/drivers/gl3.o obj-unix/release/gfx/drivers_shader/shader_gl3.o obj-unix/release/gfx/drivers_shader/shader_glsl.o obj-unix/release/gfx/drivers_shader/slang_process.o obj-unix/release/gfx/drivers_shader/glslang_util.o obj-unix/release/gfx/drivers_shader/glslang_util_cxx.o obj-unix/release/gfx/drivers_shader/slang_reflection.o obj-unix/release/gfx/video_shader_parse.o obj-unix/release/gfx/drivers_shader/glslang.o obj-unix/release/./deps/glslang/glslang/SPIRV/GlslangToSpv.o obj-unix/release/./deps/glslang/glslang/SPIRV/InReadableOrder.o obj-unix/release/./deps/glslang/glslang/SPIRV/Logger.o obj-unix/release/./deps/glslang/glslang/SPIRV/SpvBuilder.o obj-unix/release/./deps/glslang/glslang/glslang/GenericCodeGen/CodeGen.o obj-unix/release/./deps/glslang/glslang/glslang/GenericCodeGen/Link.o obj-unix/release/./deps/glslang/glslang/OGLCompilersDLL/InitializeDll.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/Constant.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/InfoSink.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/Initialize.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/IntermTraverse.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/Intermediate.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/ParseContextBase.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/ParseHelper.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/PoolAlloc.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/RemoveTree.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/Scan.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/ShaderLang.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/SymbolTable.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/Versions.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/attribute.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/glslang_tab.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/intermOut.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/iomapper.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/limits.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/linkValidate.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/parseConst.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/propagateNoContraction.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/reflection.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/preprocessor/Pp.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpAtom.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpContext.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpScanner.o obj-unix/release/./deps/glslang/glslang/glslang/MachineIndependent/preprocessor/PpTokens.o obj-unix/release/./deps/glslang/glslang/glslang/OSDependent/Unix/ossource.o obj-unix/release/./deps/SPIRV-Cross/spirv_cross.o obj-unix/release/./deps/SPIRV-Cross/spirv_cfg.o obj-unix/release/./deps/SPIRV-Cross/spirv_glsl.o obj-unix/release/./deps/SPIRV-Cross/spirv_hlsl.o obj-unix/release/./deps/SPIRV-Cross/spirv_msl.o obj-unix/release/./deps/SPIRV-Cross/spirv_parser.o obj-unix/release/./deps/SPIRV-Cross/spirv_cross_parsed_ir.o obj-unix/release/./libretro-common/file/archive_file.o obj-unix/release/./libretro-common/streams/trans_stream.o obj-unix/release/./libretro-common/streams/trans_stream_pipe.o obj-unix/release/./libretro-common/file/archive_file_7z.o obj-unix/release/./deps/7zip/7zArcIn.o obj-unix/release/./deps/7zip/7zBuf.o obj-unix/release/./deps/7zip/7zCrc.o obj-unix/release/./deps/7zip/7zCrcOpt.o obj-unix/release/./deps/7zip/7zDec.o obj-unix/release/./deps/7zip/CpuArch.o obj-unix/release/./deps/7zip/Delta.o obj-unix/release/./deps/7zip/LzFind.o obj-unix/release/./deps/7zip/LzmaDec.o obj-unix/release/./deps/7zip/Lzma2Dec.o obj-unix/release/./deps/7zip/LzmaEnc.o obj-unix/release/./deps/7zip/Bra.o obj-unix/release/./deps/7zip/Bra86.o obj-unix/release/./deps/7zip/BraIA64.o obj-unix/release/./deps/7zip/Bcj2.o obj-unix/release/./deps/7zip/7zFile.o obj-unix/release/./deps/7zip/7zStream.o obj-unix/release/./deps/ibxm/ibxm.o obj-unix/release/./deps/libFLAC/bitmath.o obj-unix/release/./deps/libFLAC/bitreader.o obj-unix/release/./deps/libFLAC/cpu.o obj-unix/release/./deps/libFLAC/crc.o obj-unix/release/./deps/libFLAC/fixed.o obj-unix/release/./deps/libFLAC/float.o obj-unix/release/./deps/libFLAC/format.o obj-unix/release/./deps/libFLAC/lpc.o obj-unix/release/./deps/libFLAC/lpc_intrin_avx2.o obj-unix/release/./deps/libFLAC/lpc_intrin_sse2.o obj-unix/release/./deps/libFLAC/lpc_intrin_sse41.o obj-unix/release/./deps/libFLAC/lpc_intrin_sse.o obj-unix/release/./deps/libFLAC/md5.o obj-unix/release/./deps/libFLAC/memory.o obj-unix/release/./deps/libFLAC/stream_decoder.o obj-unix/release/./deps/libz/adler32.o obj-unix/release/./deps/libz/libz-crc32.o obj-unix/release/./deps/libz/deflate.o obj-unix/release/./deps/libz/gzclose.o obj-unix/release/./deps/libz/gzlib.o obj-unix/release/./deps/libz/gzread.o obj-unix/release/./deps/libz/gzwrite.o obj-unix/release/./deps/libz/inffast.o obj-unix/release/./deps/libz/inflate.o obj-unix/release/./deps/libz/inftrees.o obj-unix/release/./deps/libz/trees.o obj-unix/release/./deps/libz/zutil.o obj-unix/release/./libretro-common/file/archive_file_zlib.o obj-unix/release/./libretro-common/streams/trans_stream_zlib.o obj-unix/release/./libretro-common/streams/rzip_stream.o obj-unix/release/./libretro-common/formats/libchdr/libchdr_bitstream.o obj-unix/release/./libretro-common/formats/libchdr/libchdr_cdrom.o obj-unix/release/./libretro-common/formats/libchdr/libchdr_chd.o obj-unix/release/./libretro-common/formats/libchdr/libchdr_huffman.o obj-unix/release/./libretro-common/streams/chd_stream.o obj-unix/release/./libretro-common/formats/libchdr/libchdr_zlib.o obj-unix/release/./libretro-common/formats/libchdr/libchdr_flac.o obj-unix/release/./libretro-common/formats/libchdr/libchdr_flac_codec.o obj-unix/release/./libretro-common/formats/libchdr/libchdr_lzma.o obj-unix/release/./libretro-common/formats/tga/rtga.o obj-unix/release/./libretro-common/formats/png/rpng.o obj-unix/release/./libretro-common/formats/png/rpng_encode.o obj-unix/release/./libretro-common/formats/jpeg/rjpeg.o obj-unix/release/./libretro-common/formats/bmp/rbmp.o obj-unix/release/./libretro-common/formats/bmp/rbmp_encode.o obj-unix/release/./libretro-common/formats/json/rjson.o obj-unix/release/./libretro-common/formats/image_transfer.o obj-unix/release/./libretro-common/formats/m3u/m3u_file.o obj-unix/release/./libretro-common/net/net_compat.o obj-unix/release/./libretro-common/net/net_http.o obj-unix/release/./libretro-common/net/net_http_parse.o obj-unix/release/./libretro-common/net/net_socket.o obj-unix/release/core_updater_list.o obj-unix/release/network/natt.o obj-unix/release/network/net_http_special.o obj-unix/release/tasks/task_http.o obj-unix/release/tasks/task_netplay_lan_scan.o obj-unix/release/tasks/task_netplay_nat_traversal.o obj-unix/release/tasks/task_pl_thumbnail_download.o obj-unix/release/tasks/task_netplay_find_content.o obj-unix/release/tasks/task_core_updater.o obj-unix/release/./libretro-common/net/net_socket_ssl_mbed.o obj-unix/release/./libretro-common/net/net_ifinfo.o obj-unix/release/network/netplay/netplay_frontend.o obj-unix/release/network/netplay/netplay_room_parse.o obj-unix/release/cheevos/cheevos.o obj-unix/release/cheevos/cheevos_client.o obj-unix/release/cheevos/cheevos_menu.o obj-unix/release/./libretro-common/formats/cdfs/cdfs.o obj-unix/release/deps/rcheevos/src/rcheevos/alloc.o obj-unix/release/deps/rcheevos/src/rcheevos/compat.o obj-unix/release/deps/rcheevos/src/rcheevos/condition.o obj-unix/release/deps/rcheevos/src/rcheevos/condset.o obj-unix/release/deps/rcheevos/src/rcheevos/consoleinfo.o obj-unix/release/deps/rcheevos/src/rcheevos/format.o obj-unix/release/deps/rcheevos/src/rcheevos/lboard.o obj-unix/release/deps/rcheevos/src/rcheevos/memref.o obj-unix/release/deps/rcheevos/src/rcheevos/operand.o obj-unix/release/deps/rcheevos/src/rcheevos/rc_libretro.o obj-unix/release/deps/rcheevos/src/rcheevos/richpresence.o obj-unix/release/deps/rcheevos/src/rcheevos/runtime.o obj-unix/release/deps/rcheevos/src/rcheevos/runtime_progress.o obj-unix/release/deps/rcheevos/src/rcheevos/trigger.o obj-unix/release/deps/rcheevos/src/rcheevos/value.o obj-unix/release/deps/rcheevos/src/rhash/cdreader.o obj-unix/release/deps/rcheevos/src/rhash/hash.o obj-unix/release/deps/rcheevos/src/rapi/rc_api_common.o obj-unix/release/deps/rcheevos/src/rapi/rc_api_runtime.o obj-unix/release/deps/rcheevos/src/rapi/rc_api_user.o obj-unix/release/deps/discord-rpc/src/discord_rpc.o obj-unix/release/deps/discord-rpc/src/rpc_connection.o obj-unix/release/deps/discord-rpc/src/serialization.o obj-unix/release/network/discord.o obj-unix/release/deps/discord-rpc/src/discord_register_osx.o obj-unix/release/deps/discord-rpc/src/connection_unix.o obj-unix/release/cores/libretro-net-retropad/net_retropad_core.o obj-unix/release/record/drivers/record_ffmpeg.o obj-unix/release/cores/libretro-ffmpeg/ffmpeg_core.o obj-unix/release/cores/libretro-ffmpeg/packet_buffer.o obj-unix/release/cores/libretro-ffmpeg/video_buffer.o obj-unix/release/./libretro-common/rthreads/tpool.o obj-unix/release/tasks/task_decompress.o obj-unix/release/input/drivers/cocoa_input.o obj-unix/release/ui/drivers/ui_cocoa.o obj-unix/release/ui/drivers/cocoa/cocoa_common.o obj-unix/release/gfx/drivers_context/cocoa_gl_ctx.o obj-unix/release/network/presence.o -framework AppKit -lm -L/opt/homebrew/Cellar/openssl@3/3.1.2/lib -lssl -lcrypto -framework CoreServices -framework CoreAudio -framework AudioUnit -L/opt/homebrew/opt/freetype/lib -lfreetype -L/opt/homebrew/Cellar/fontconfig/2.14.2/lib -L/opt/homebrew/opt/freetype/lib -lfontconfig -lfreetype -lpthread -framework IOKit -framework OpenGL -L/opt/homebrew/lib -lSDL2 -L/opt/homebrew/Cellar/ffmpeg/6.0_1/lib -lavcodec -L/opt/homebrew/Cellar/ffmpeg/6.0_1/lib -lavformat -L/opt/homebrew/Cellar/ffmpeg/6.0_1/lib -lavutil -L/opt/homebrew/Cellar/ffmpeg/6.0_1/lib -lswscale -L/opt/homebrew/Cellar/ffmpeg/6.0_1/lib -lswresample -ldl -ldl -L/opt/homebrew/opt/flex/lib -L/opt/homebrew/opt/bison/lib -mmacosx-version-min=10.15 -stdlib=libc++ ld: warning: dylib (/opt/homebrew/Cellar/openssl@3/3.1.2/lib/libcrypto.dylib) was built for newer macOS version (13.0) than being linked (11.0) ld: warning: dylib (/opt/homebrew/Cellar/openssl@3/3.1.2/lib/libssl.dylib) was built for newer macOS version (13.0) than being linked (11.0) ld: warning: dylib (/opt/homebrew/opt/freetype/lib/libfreetype.dylib) was built for newer macOS version (13.0) than being linked (11.0) ld: warning: dylib (/opt/homebrew/Cellar/fontconfig/2.14.2/lib/libfontconfig.dylib) was built for newer macOS version (13.0) than being linked (11.0) ld: warning: dylib (/opt/homebrew/lib/libSDL2.dylib) was built for newer macOS version (13.0) than being linked (11.0) ld: warning: dylib (/opt/homebrew/lib/libavcodec.dylib) was built for newer macOS version (13.0) than being linked (11.0) ld: warning: dylib (/opt/homebrew/lib/libavformat.dylib) was built for newer macOS version (13.0) than being linked (11.0) ld: warning: dylib (/opt/homebrew/lib/libavutil.dylib) was built for newer macOS version (13.0) than being linked (11.0) ld: warning: dylib (/opt/homebrew/lib/libswscale.dylib) was built for newer macOS version (13.0) than being linked (11.0) ld: warning: dylib (/opt/homebrew/lib/libswresample.dylib) was built for newer macOS version (13.0) than being linked (11.0) Undefined symbols for architecture arm64: "_mbedtls_debug_set_threshold", referenced from: _ssl_socket_init in net_socket_ssl_mbed.o ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make: *** [retroarch] Error 1 Thanks

Aeonitis commented 9 months ago

My bad, trying to make project myself. Seems to work fine once I found the RetroArch_Metal.xcodeproj