tpoechtrager / osxcross

Mac OS X cross toolchain for Linux, FreeBSD, OpenBSD and Android (Termux)
GNU General Public License v2.0
2.81k stars 320 forks source link

An error cross compiling godot 3.4.4 stable for osx on ubuntu 21 using osxcross #337

Closed themistocles-0 closed 2 years ago

themistocles-0 commented 2 years ago

COMMAND

OSXCROSS_ROOT="/home/mudanyi/opt/osxcross" scons platform="osx" osxcross_sdk="darwin21.1" arch="x64" bits="64" tools="no" target="debug" optimize="speed" verbose="yes" warnings="extra" werror="no" custom_modules="../godot 3.4.4 stable modules" custom_modules_recursive="yes" use_static_cpp="yes" debug_symbols="yes" separate_debug_symbols="no" use_ubsan="no" use_asan="no" use_lsan="no" use_tsan="no" use_msan="no" disable_3d="no" disable_advanced_gui="no" no_editor_splash="yes" deprecated="yes" pulseaudio="yes" udev="yes" module_mono_enabled="no"

ERROR

/home/mudanyi/opt/osxcross/target/bin/x86_64-apple-darwin21.1-c++ -o bin/godot.osx.debug.x64 -Xlinker -no_deduplicate -arch x86_64 -mmacosx-version-min=10.12 -framework Cocoa -framework Carbon -framework OpenGL -framework AGL -framework AudioUnit -framework CoreAudio -framework CoreMIDI -lz -framework IOKit -framework ForceFeedback -framework AVFoundation -framework CoreMedia -framework CoreVideo platform/osx/crash_handler_osx.osx.debug.x64.o platform/osx/os_osx.osx.debug.x64.o platform/osx/godot_main_osx.osx.debug.x64.o platform/osx/dir_access_osx.osx.debug.x64.o platform/osx/joypad_osx.osx.debug.x64.o platform/osx/power_osx.osx.debug.x64.o main/libmain.osx.debug.x64.a modules/libmodules.osx.debug.x64.a platform/libplatform.osx.debug.x64.a drivers/libdrivers.osx.debug.x64.a scene/libscene.osx.debug.x64.a servers/libservers.osx.debug.x64.a core/libcore.osx.debug.x64.a modules/freetype/libfreetype_builtin.osx.debug.x64.a -lpthread
Undefined symbols for architecture x86_64:
  "___isPlatformVersionAtLeast", referenced from:
      OS_OSX::execute(String const&, List<String, DefaultAllocator> const&, bool, long long*, String*, int*, bool, MutexImpl<std::__1::recursive_mutex>*) in os_osx.osx.debug.x64.o
      CameraFeedOSX::activate_feed() in libmodules.osx.debug.x64.a(camera_osx.osx.debug.x64.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
scons: *** [bin/godot.osx.debug.x64] Error 1
scons: building terminated because of errors.
[Time elapsed: 00:00:20.473]

Update: building for arm64-apple-darwin21.1 works

OSXCROSS_ROOT="/home/mudanyi/opt/osxcross" scons platform="osx" osxcross_sdk="darwin21.1" arch="arm64" bits="64" tools="no" target="debug" optimize="speed" verbose="yes" warnings="extra" werror="no" custom_modules="../godot 3.4.4 stable modules" custom_modules_recursive="yes" use_static_cpp="no" debug_symbols="yes" separate_debug_symbols="no" use_ubsan="no" use_asan="no" use_lsan="no" use_tsan="no" use_msan="no" disable_3d="no" disable_advanced_gui="no" no_editor_splash="yes" deprecated="yes" pulseaudio="yes" udev="yes" module_mono_enabled="no"

/home/mudanyi/opt/osxcross/target/bin/arm64-apple-darwin21.1-c++ -o bin/godot.osx.debug.arm64 -Xlinker -no_deduplicate -arch arm64 -mmacosx-version-min=10.15 -framework Cocoa -framework Carbon -framework OpenGL -framework AGL -framework AudioUnit -framework CoreAudio -framework CoreMIDI -lz -framework IOKit -framework ForceFeedback -framework AVFoundation -framework CoreMedia -framework CoreVideo platform/osx/crash_handler_osx.osx.debug.arm64.o platform/osx/os_osx.osx.debug.arm64.o platform/osx/godot_main_osx.osx.debug.arm64.o platform/osx/dir_access_osx.osx.debug.arm64.o platform/osx/joypad_osx.osx.debug.arm64.o platform/osx/power_osx.osx.debug.arm64.o main/libmain.osx.debug.arm64.a modules/libmodules.osx.debug.arm64.a platform/libplatform.osx.debug.arm64.a drivers/libdrivers.osx.debug.arm64.a scene/libscene.osx.debug.arm64.a servers/libservers.osx.debug.arm64.a core/libcore.osx.debug.arm64.a modules/freetype/libfreetype_builtin.osx.debug.arm64.a -lpthread
Building compilation database compile_commands.json
progress_finish(["progress_finish"], [])
scons: done building targets.
[Time elapsed: 00:35:41.685]
akien-mga commented 2 years ago

For the record, this was a duplicate of #278.