Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot compile with sdl2 on Apple M1 #154

Open
schell opened this issue May 14, 2021 · 2 comments
Open

Cannot compile with sdl2 on Apple M1 #154

schell opened this issue May 14, 2021 · 2 comments

Comments

@schell
Copy link

schell commented May 14, 2021

I'm not sure if this is because of an SDL issue or a mac M1 issue or what. I'm trying to use ffmpeg in a project with sdl2 and am running into this linker error:

          Undefined symbols for architecture arm64:
            "_IOHIDManagerCopyDevices", referenced from:
                _PLATFORM_hid_enumerate in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
                _PLATFORM_hid_open_path in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_IOHIDManagerSetDeviceMatching", referenced from:
                _PLATFORM_hid_init in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_KBGetLayoutType", referenced from:
                _Cocoa_HandleKeyEvent in libffmpeg_sys-11c466554d815dcd.rlib(SDL_cocoakeyboard.o)
            "_kTISPropertyUnicodeKeyLayoutData", referenced from:
                _UpdateKeymap in libffmpeg_sys-11c466554d815dcd.rlib(SDL_cocoakeyboard.o)
            "_TISGetInputSourceProperty", referenced from:
                _UpdateKeymap in libffmpeg_sys-11c466554d815dcd.rlib(SDL_cocoakeyboard.o)
            "_LMGetKbdType", referenced from:
                _UpdateKeymap in libffmpeg_sys-11c466554d815dcd.rlib(SDL_cocoakeyboard.o)
                _Cocoa_HandleKeyEvent in libffmpeg_sys-11c466554d815dcd.rlib(SDL_cocoakeyboard.o)
            "_IOObjectIsEqualTo", referenced from:
                _MacHaptic_MaybeAddDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_syshaptic.o)
                _MacHaptic_MaybeRemoveDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_syshaptic.o)
            "_IORegistryEntryCreateCFProperties", referenced from:
                _MacHaptic_MaybeAddDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_syshaptic.o)
            "_OBJC_CLASS_$_CHHapticDynamicParameter", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_OBJC_CLASS_$_CHHapticEventParameter", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_GCInputDualShockTouchpadOne", referenced from:
                _IOS_MFIJoystickUpdate in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_GCInputDualShockTouchpadTwo", referenced from:
                _IOS_MFIJoystickUpdate in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_GCInputXboxPaddleTwo", referenced from:
                _IOS_AddJoystickDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
                _IOS_MFIJoystickUpdate in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_GCInputXboxPaddleThree", referenced from:
                _IOS_AddJoystickDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
                _IOS_MFIJoystickUpdate in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_GCInputXboxPaddleFour", referenced from:
                _IOS_AddJoystickDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
                _IOS_MFIJoystickUpdate in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_GCControllerDidDisconnectNotification", referenced from:
                _IOS_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
                _IOS_JoystickQuit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_CHHapticDynamicParameterIDHapticIntensityControl", referenced from:
                -[SDL_RumbleMotor setIntensity:] in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_CHHapticEventParameterIDHapticIntensity", referenced from:
                -[SDL_RumbleMotor setIntensity:] in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IOHIDDeviceRegisterInputReportCallback", referenced from:
                _PLATFORM_hid_open_path in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
                _PLATFORM_hid_close in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_IORegistryEntryGetParentEntry", referenced from:
                _MacHaptic_MaybeAddDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_syshaptic.o)
            "_GCHapticDurationInfinite", referenced from:
                -[SDL_RumbleMotor setIntensity:] in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IOHIDDeviceGetValue", referenced from:
                _GetHIDElementState in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IOHIDValueGetIntegerValue", referenced from:
                _GetHIDElementState in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_OBJC_CLASS_$_GCController", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IOHIDElementGetUsage", referenced from:
                _AddHIDElement in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IOHIDElementGetType", referenced from:
                _AddHIDElement in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_OBJC_CLASS_$_MTLSamplerDescriptor", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_render_metal.o)
            "_IOHIDElementGetLogicalMin", referenced from:
                _AddHIDElement in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_TISCopyCurrentKeyboardLayoutInputSource", referenced from:
                _UpdateKeymap in libffmpeg_sys-11c466554d815dcd.rlib(SDL_cocoakeyboard.o)
            "_IOHIDElementGetLogicalMax", referenced from:
                _AddHIDElement in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_GCInputXboxPaddleOne", referenced from:
                _IOS_AddJoystickDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
                _IOS_MFIJoystickUpdate in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_FFDeviceReleaseEffect", referenced from:
                _JoystickDeviceWasRemovedCallback in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_GCInputDualShockTouchpadButton", referenced from:
                _IOS_AddJoystickDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
                _IOS_MFIJoystickUpdate in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IOHIDDeviceRegisterRemovalCallback", referenced from:
                _JoystickDeviceWasAddedCallback in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IOObjectRetain", referenced from:
                _MacHaptic_MaybeAddDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_syshaptic.o)
            "_IOHIDDeviceScheduleWithRunLoop", referenced from:
                _JoystickDeviceWasAddedCallback in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
                _PLATFORM_read_thread in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
                _PLATFORM_hid_close in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_GCHapticsLocalityRightTrigger", referenced from:
                _IOS_JoystickInitRumble in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IOHIDDeviceGetService", referenced from:
                _JoystickDeviceWasAddedCallback in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_FFIsForceFeedback", referenced from:
                _JoystickDeviceWasAddedCallback in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
                _MacHaptic_MaybeAddDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_syshaptic.o)
            "_IOHIDManagerClose", referenced from:
                _DARWIN_JoystickQuit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
                _PLATFORM_hid_exit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_FFReleaseDevice", referenced from:
                _JoystickDeviceWasRemovedCallback in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IONotificationPortCreate", referenced from:
                _HIDAPI_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
            "_IOHIDManagerUnscheduleFromRunLoop", referenced from:
                _DARWIN_JoystickQuit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_FFEffectSetParameters", referenced from:
                _DARWIN_JoystickRumble in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IODispatchCalloutFromMessage", referenced from:
                _HIDAPI_JoystickDetect in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
            "_FFCreateDevice", referenced from:
                _DARWIN_JoystickRumble in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IOHIDElementGetTypeID", referenced from:
                _AddHIDElement in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_OBJC_CLASS_$_MTLRenderPipelineDescriptor", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_render_metal.o)
            "_IOHIDElementGetChildren", referenced from:
                _AddHIDElement in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_GCControllerDidConnectNotification", referenced from:
                _IOS_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
                _IOS_JoystickQuit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IOHIDManagerCreate", referenced from:
                _DARWIN_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
                _PLATFORM_hid_init in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_OBJC_CLASS_$_CHHapticEvent", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IOHIDManagerScheduleWithRunLoop", referenced from:
                _DARWIN_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
                _PLATFORM_hid_init in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_FFDeviceSendForceFeedbackCommand", referenced from:
                _DARWIN_JoystickRumble in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IOHIDElementGetCookie", referenced from:
                _AddHIDElement in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IOHIDDeviceGetProperty", referenced from:
                _JoystickDeviceWasAddedCallback in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
                _get_int_property in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
                _PLATFORM_make_path in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
                _get_string_property in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_GCHapticsLocalityRightHandle", referenced from:
                _IOS_JoystickInitRumble in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IOHIDManagerSetDeviceMatchingMultiple", referenced from:
                _DARWIN_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_GCHapticsLocalityLeftHandle", referenced from:
                _IOS_JoystickInitRumble in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_OBJC_CLASS_$_MTLVertexDescriptor", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_render_metal.o)
            "_OBJC_CLASS_$_MTLRenderPassDescriptor", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_render_metal.o)
            "_FFDeviceCreateEffect", referenced from:
                _DARWIN_JoystickRumble in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IOHIDDeviceOpen", referenced from:
                _PLATFORM_hid_open_path in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_kIOMasterPortDefault", referenced from:
                _HIDAPI_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
            "_OBJC_CLASS_$_MTLTextureDescriptor", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_render_metal.o)
            "_IOHIDManagerRegisterDeviceRemovalCallback", referenced from:
                _PLATFORM_hid_init in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_IOHIDDeviceCopyMatchingElements", referenced from:
                _JoystickDeviceWasAddedCallback in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IOServiceMatching", referenced from:
                _HIDAPI_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
            "_IOHIDElementGetUsagePage", referenced from:
                _AddHIDElement in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IOHIDDeviceGetReport", referenced from:
                _PLATFORM_hid_get_feature_report in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_IOHIDDeviceUnscheduleFromRunLoop", referenced from:
                _FreeDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
                _PLATFORM_hid_close in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_IOHIDDeviceSetReport", referenced from:
                _set_report in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_IOObjectRelease", referenced from:
                _HIDAPI_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
                _CallbackIOServiceFunc in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
                _MacHaptic_MaybeAddDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_syshaptic.o)
                _MacHaptic_MaybeRemoveDevice in libffmpeg_sys-11c466554d815dcd.rlib(SDL_syshaptic.o)
            "_IOServiceAddMatchingNotification", referenced from:
                _HIDAPI_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
            "_IONotificationPortDestroy", referenced from:
                _HIDAPI_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
                _HIDAPI_JoystickQuit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
            "_FFEffectStart", referenced from:
                _DARWIN_JoystickRumble in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_OBJC_CLASS_$_CHHapticPattern", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IOHIDManagerOpen", referenced from:
                _DARWIN_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_IOHIDDeviceClose", referenced from:
                _PLATFORM_hid_close in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapi.o)
            "_IOHIDManagerRegisterDeviceMatchingCallback", referenced from:
                _DARWIN_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_iokitjoystick.o)
            "_OBJC_CLASS_$_GCColor", referenced from:
                objc-class-ref in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_GCHapticsLocalityLeftTrigger", referenced from:
                _IOS_JoystickInitRumble in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IOIteratorNext", referenced from:
                _HIDAPI_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
                _CallbackIOServiceFunc in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
            "_CHHapticEventTypeHapticContinuous", referenced from:
                -[SDL_RumbleMotor setIntensity:] in libffmpeg_sys-11c466554d815dcd.rlib(SDL_mfijoystick.o)
            "_IONotificationPortGetMachPort", referenced from:
                _HIDAPI_JoystickInit in libffmpeg_sys-11c466554d815dcd.rlib(SDL_hidapijoystick.o)
          ld: symbol(s) not found for architecture arm64
          clang: error: linker command failed with exit code 1 (use -v to see invocation)
@schell
Copy link
Author

schell commented May 14, 2021

Of course as soon as I write this ticket I find out what I'm doing wrong. I have features = ["static"] set in my deps for ffmpeg which I think is interfering with my deps for sdl2.

@schell
Copy link
Author

schell commented May 14, 2021

How would I create a static binary with these two libs?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant