godotengine / godot-git-plugin

Git implementation of the VCS interface in Godot
MIT License
703 stars 74 forks source link

Plugin not working on MacOS 10.11 #194

Closed Justiniscoding closed 1 year ago

Justiniscoding commented 1 year ago

I am using MacOS 10.11.6 El Capitan and Godot version 3.2.3.stable

When I download version 1.2.3 of this plugin which should support my Godot version, it does not work. When I press "Set Up Version Control" it says "No VCS addons are available." I have unzipped the file and put the contents into my godot project. I have also opened the libgitapi.dylib file to make sure that Godot is able to open it. When I put the addon into my project directory, I got an error saying:

 Can't open dynamic library: /Users/Justin/Documents/Godot/Inexistant Freedom Fangame/addons/godot-git-plugin/osx/release/libgitapi.dylib, error: dlopen(/Users/Justin/Documents/Godot/Inexistant Freedom Fangame/addons/godot-git-plugin/osx/release/libgitapi.dylib, 2): Symbol not found: ____chkstk_darwin
  Referenced from: /Users/Justin/Documents/Godot/Inexistant Freedom Fangame/addons/godot-git-plugin/osx/release/libgitapi.dylib
  Expected in: /usr/lib/libSystem.B.dylib
 in /Users/Justin/Documents/Godot/Inexistant Freedom Fangame/addons/godot-git-plugin/osx/release/libgitapi.dylib.
 modules/gdnative/gdnative.cpp:501 - No valid library handle, can't get symbol from GDNative object
 modules/gdnative/nativescript/nativescript.cpp:1506 - No nativescript_init in "res://addons/godot-git-plugin/osx/release/libgitapi.dylib" found

I think that the error has to do with my MacOS version being old, and not having the symbol ____chkstk_darwin. Other people who have had this error(on other projects, such as nodegui) usually compiled a binary from scratch and were able to use the project. Is there a way I can compile the .dylib file on my own computer or do something else so that this plugin works?

Justiniscoding commented 1 year ago

I just saw the build instructions and followed them, but the plugin will not compile. The error message:

scons: Reading SConscript files ...
Building for architecture universal on platform macos
scons: done reading SConscript files.
scons: Building targets ...
clang++ -o godot-cpp/src/godot.macos.editor.universal.o -c -std=c++17 -arch x86_64 -arch arm64 -O2 -DTOOLS_ENABLED -DDEBUG_ENABLED -DDEBUG_METHODS_ENABLED -Igodot-cpp/gdextension -Igodot-cpp/include -Igodot-cpp/gen/include godot-cpp/src/godot.cpp
clang++ -o godot-cpp/src/classes/low_level.macos.editor.universal.o -c -std=c++17 -arch x86_64 -arch arm64 -O2 -DTOOLS_ENABLED -DDEBUG_ENABLED -DDEBUG_METHODS_ENABLED -Igodot-cpp/gdextension -Igodot-cpp/include -Igodot-cpp/gen/include godot-cpp/src/classes/low_level.cpp
error: invalid value 'c++17' in '-std=c++17'
error: invalid value 'c++17' in '-std=c++17'
clang++ -o godot-cpp/src/classes/wrapped.macos.editor.universal.o -c -std=c++17 -arch x86_64 -arch arm64 -O2 -DTOOLS_ENABLED -DDEBUG_ENABLED -DDEBUG_METHODS_ENABLED -Igodot-cpp/gdextension -Igodot-cpp/include -Igodot-cpp/gen/include godot-cpp/src/classes/wrapped.cpp
error: invalid value 'c++17' in '-std=c++17'
clang++ -o godot-cpp/src/core/class_db.macos.editor.universal.o -c -std=c++17 -arch x86_64 -arch arm64 -O2 -DTOOLS_ENABLED -DDEBUG_ENABLED -DDEBUG_METHODS_ENABLED -Igodot-cpp/gdextension -Igodot-cpp/include -Igodot-cpp/gen/include godot-cpp/src/core/class_db.cpp
error: invalid value 'c++17' in '-std=c++17'
clang++ -o godot-cpp/src/core/error_macros.macos.editor.universal.o -c -std=c++17 -arch x86_64 -arch arm64 -O2 -DTOOLS_ENABLED -DDEBUG_ENABLED -DDEBUG_METHODS_ENABLED -Igodot-cpp/gdextension -Igodot-cpp/include -Igodot-cpp/gen/include godot-cpp/src/core/error_macros.cpp
error: invalid value 'c++17' in '-std=c++17'
clang++ -o godot-cpp/src/core/memory.macos.editor.universal.o -c -std=c++17 -arch x86_64 -arch arm64 -O2 -DTOOLS_ENABLED -DDEBUG_ENABLED -DDEBUG_METHODS_ENABLED -Igodot-cpp/gdextension -Igodot-cpp/include -Igodot-cpp/gen/include godot-cpp/src/core/memory.cpp
scons: *** [godot-cpp/src/classes/low_level.macos.editor.universal.o] Error 1
scons: *** [godot-cpp/src/godot.macos.editor.universal.o] Error 1
scons: *** [godot-cpp/src/classes/wrapped.macos.editor.universal.o] Error 1
scons: *** [godot-cpp/src/core/class_db.macos.editor.universal.o] Error 1
scons: *** [godot-cpp/src/core/error_macros.macos.editor.universal.o] Error 1
error: invalid value 'c++17' in '-std=c++17'
scons: *** [godot-cpp/src/core/memory.macos.editor.universal.o] Error 1
scons: building terminated because of errors.
Calinou commented 1 year ago

Recent versions of Godot 3.x require macOS 10.12 or later, and Godot 3.2.3 is no longer supported. This plugin also started requiring macOS 10.13 before Godot itself started requiring macOS 10.12. Godot 4.x also requires macOS 10.13 when using the Compatibility rendering method, and 10.15 when using Forward+ or Forward Mobile.

Considering the latest macOS version is 13.0, a 10.13 version requirement is commonplace in software nowadays (that's N-5 compared to 13.0).

Closing as per the release support timeline. If you're looking to repurpose an old PC/Mac, consider using Linux which will allow you to run up-to-date software :slightly_smiling_face:

Justiniscoding commented 1 year ago

I'll try to dual boot MacOS and Linux on my mac so that I can use this. I don't want linux to be the only OS because I know some applications do not have support for it. Thanks for the advice!